给你一个奇怪的问题。
我创建了一个控件,将记录插入数据库并将cookie写入用户的计算机。这是cookie编写代码片段:
protected void CreateCookie(Guid id, DateTime expires)
{
var oCookie = new HttpCookie("gsow");
oCookie.Value = id.ToString();
oCookie.Expires = expires;
HttpContext.Current.Response.Cookies.Add(oCookie);
}
非常简单,没什么特别的。 ID从将条目写入数据库的函数传递,并且该ID即时生成。现在这里是我读取cookie的代码:
protected void Page_Load(object sender, EventArgs e)
{
var oCookie = HttpContext.Current.Response.Cookies["gsow"];
output.Text = "I am Here<br />";
if (oCookie != null)
output.Text += oCookie.Value;
else
output2.Text = "No Cookie.";
}
再次,非常简单。以下是我采取的步骤和多次重复:
一旦我加载第二页,它应该吐出我之前设置的ID,cookie仍然存在,但它是Unset。
以下是我加载第一页后Cookie的屏幕截图:
一旦我加载第二页:
因此,从我所看到的,当我加载第二页时,cookie的值/到期被剥离。任何人都对为什么会这样做有任何想法?
由于
答案 0 :(得分:3)
据我所知,您应该使用Request对象而不是Response对象检索cookie。