加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

Asp.NET cookies返回null

发布时间:2020-12-16 09:16:50 所属栏目:asp.Net 来源:网络整理
导读:当点击一个按钮时,我正试图保存一个cookie … protected void btn_login_Click(object sender,EventArgs e){ HttpCookie cookie = new HttpCookie("test"); cookie["work"] = "now"; cookie.Expires = DateTime.Now + new TimeSpan(1,0); cookie.Domain = ".
当点击一个按钮时,我正试图保存一个cookie …

protected void btn_login_Click(object sender,EventArgs e)
{
   HttpCookie cookie = new HttpCookie("test");
   cookie["work"] = "now";
   cookie.Expires = DateTime.Now + new TimeSpan(1,0);
   cookie.Domain = ".cookie.com";
   Response.Cookies.Add(cookie);
}

然后在page_load上我正在阅读cookie …

protected void Page_Load(object sender,EventArgs e)
{
    string a = Response.Cookies["test"]["work"];
}

但它不断回归无效.我在localhost下运行它,我读到cookie不会保存在localhost下,所以我编辑了我的主机文件
127.0.0.1 test.cookie.com
当我使用Fiddler查看发布到页面标题的内容时.看起来像这样……

test / work = now
test =

所以我可以看到它已经设置但是由于某种原因,当我在其中读取它时返回null.

解决方法

在page_load上将它从Response.Cookies更改为Request.Cookies.

Response对象用于发回数据. Request对象包含传递给您的数据.

例:

String a = Request.Cookies["test"]["work"];

请注意,如果cookie不存在,那么这将导致空引用异常.

通常你应该这样做:

protected void Page_Load(object sender,EventArgs e) {
  HttpCookie cookie = Request.Cookies["test"];
  String a = String.Empty;

  if (cookie != null) {
    a = cookie["work"];
  }

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读