我想用cookie注册我网站中几个页面的参数.我try 了以下代码,但不符合我的要求:

 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();
 }

师父:我在网站上读到的.

<% 

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"]为空的页面时,我显示的cookie为空.

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

推荐答案

我不确定我是否理解这是一个关于如何正确地向客户端发送cookie的问题,还是一个关于查询字符串参数的错误.因此,我将发布发送cookies 的正确方式,如果我误解了,请随时更正.

无论如何,我相信:

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 );

Asp.net相关问答推荐

'dotnet --version is returning您必须安装或更新.NET才能运行此应用程序.三十九岁;

无法在Microsoft Windows Server 2016(数据中心)上运行.NET可移植性分析器

无法翻译 LINQ

如何从 ASP.NET 中的代码隐藏文件访问 IFRAME?

捕获对 ASP.NET ASMX Web 服务的 SOAP 请求

HttpContext.Current.Request.IsAuthenticated 和 HttpContext.Current.User.Identity.IsAuthenticated 有什么区别?

新的 ASP.NET MVC 5 应用程序如何知道如何创建数据库以及帐户控制器如何访问数据库?

在每个控制器的 ASP.NET WebAPI 上强制使用 CamelCase

IIS 7.5 上没有 asp.net 功能

无法序列化会话状态

IIS 会话超时与 ASP.NET 会话超时

如何在 C# 应用程序中调用 VBScript 文件?

如何防止 XXE 攻击(.NET 中的 XmlDocument)

HttpResponse.End 或 HttpResponse.Close 与 HttpResponse.SuppressContent

如何使div按钮提交其所在的表单?

具有自定义报告创建能力的最佳 ASP.NET 报告引擎

Cache.Add 绝对过期 - 是否基于 UTC?

如何遍历自定义 vb.net 对象的每个属性?

如何直接在 .aspx 页面中访问 web.config 设置?

从物理路径获取相对虚拟路径