在asp.net中使用cookie mvc c#

前端之家收集整理的这篇文章主要介绍了在asp.net中使用cookie mvc c#前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想使用cookie在我的网站上注册几页的参数。我尝试了以下代码,但不像我想要的那样:
public ActionResult Index(int? dep,int? cat)
 {
   ......
   string theDept = Request.QueryString["dep"];
   HttpCookie cookie = new HttpCookie("search");
   cookie.Values["dep_name"] = theDept;
   cookie.Expires = DateTime.Now.AddDays(1);
   Response.Cookies.Add(cookie);
   return View();
 }

我在site.master中看过:

<% 

HttpCookie cookie = Request.Cookies["search"] ;

if ((cookie != null) && (cookie.Value != ""))
{
    Response.Write(cookie.Values["dep_name"].ToString() + "---" +   
    cookie.Values["cat_name"].ToString() + "---" + cookie.Values["brand"].ToString());
}
%>

问题:当我点击另一个页面Request.QueryString [“dep”]为null时,我显示的cookie为null。

当我们还没有清除cookie时,如何将其存储在cookie中?

解决方法

我不知道我是否明白如果这是一个关于如何正确发送cookie到客户端或一些bug与您的querystring参数的问题。所以我会发布正确的方式发送cookie,如果我被误解,随时纠正我。

不管怎样,我相信:

HttpCookie cookie = new HttpCookie("search");

将重置搜索Cookie

得到一个cookie:

HttpCookie cookie = HttpContext.Request.Cookies.Get("some_cookie_name");

检查cookie的存在:

HttpContext.Request.Cookies["some_cookie_name"] != null

保存cookie:

HttpCookie cookie = new HttpCookie("some_cookie_name");
HttpContext.Response.Cookies.Remove("some_cookie_name");
HttpContext.Response.SetCookie(cookie );
原文链接:https://www.f2er.com/aspnet/252978.html

猜你在找的asp.Net相关文章