Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
返回null的Asp.NET Cookie_Asp.net_Cookies - Fatal编程技术网

返回null的Asp.NET Cookie

返回null的Asp.NET Cookie,asp.net,cookies,Asp.net,Cookies,我正在尝试保存一个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, 0, 0); cookie.Domain = ".co

我正在尝试保存一个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, 0, 0);
   cookie.Domain = ".cookie.com";
   Response.Cookies.Add(cookie);
}
然后在加载页面上,我正在阅读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查看页面标题上的内容时。看起来像这样

测试/工作=现在 试验=


因此,我可以看到它正在被设置,但由于某种原因,当我在中读取它时,它返回空值。

在加载页面上,将其从
响应.Cookies
更改为
请求.Cookies

响应对象用于将数据发送回。请求对象具有传递给您的数据

例如:

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"];
  }

}
试试这个

Response.Cookies["work"].Value = "Value1"
有关更多信息,请参阅

在页面上加载以读取cookie,然后重试

string value = Request.Cookies["work"].Value

您是否正在web浏览器中访问
test.cookie.com
?还是本地主机?@Rickyman35-这是一个有效的答案。普拉尼思不应该被否决。这太明显了,我简直不敢相信我竟然没有注意到我在用回应来读饼干。有时,只是需要其他人看一下,才能看到这些容易犯的错误。谢谢你的帮助。