你有个奇怪的问题。
我创建了一个控件,该控件将记录插入数据库并将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.";
}
再一次,非常简单。以下是我已采取并重复多次的步骤:
-
通过启动第一页创建cookie/db条目。
-
验证是否存在cookie/db条目(在这个步骤中,通过chrome的cookie管理器进行检查)
-
启动第二页
一旦我加载了第二个页面,这个页面会显示出我之前设置的ID,cookie仍然存在,但它是未设置的。
以下是加载第一页后cookie的屏幕截图:
一旦我载入第二页:
所以从我所看到的来看,当我加载第二页时,cookie的值/到期时间会被去掉。有人知道为什么会这样吗?
谢谢