c# - Cookie 在 ASP.net 中失去值(value)

标签 c# asp.net cookies

我有以下设置 cookie 的代码:

  string locale = ((DropDownList)this.LoginUser.FindControl("locale")).SelectedValue;
  HttpCookie cookie = new HttpCookie("localization",locale);
  cookie.Expires= DateTime.Now.AddYears(1);
  Response.Cookies.Set(cookie);

但是,当我尝试读取 cookie 时,值为 Null。 cookie 存在。我永远不会通过以下 if 检查:

         if (Request.Cookies["localization"] != null && !string.IsNullOrEmpty(Request.Cookies["localization"].Value))

帮忙吗?

最佳答案

检查是在回发后完成的?如果是这样,您应该改为从 Request 集合中读取 cookie。

通过将 cookie 添加到 Response.Cookies 并将它们从 Request.Cookies 中读回,cookies 会持久保存到浏览器中。

添加到 Response 的 cookie 只有在页面处于同一请求时才能读取。

关于c# - Cookie 在 ASP.net 中失去值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/207878/

相关文章:

c# - 实体数据源在哪里

c# - 如果另一个按钮被选中,则自动检查按钮的网络表单

c# - ASP.NET Core Web 服务不会将 appsettings.json 加载到配置中

javascript - 正在设置 Cookie。但 document.cookie 为空

在 django 的客户端浏览器中启用了 JavaScript?

c# - 在 ASP.NET Core 2.x 中实现 EasyNetQ 发布/订阅模式的正确方法是什么?

c# - 在 SQL Server 或 C# 中加密数据

c# - 如何在gridview的页脚绑定(bind)数据

asp.net - ELMAH 是否默认实现和启用了洪水保护?

Javascript Cookie 脚本 Opera 浏览器