我有一个方法调用docount()无法设置cookie的值
代码
if (Request.Cookies["searchCounter"] != null)
{
Response.Write("cookie old cookie ");
int scvalue = int.Parse(Request.Cookies["searchCounter"].Value);
int sc = scvalue + 1;
Request.Cookies["searchCounter"].Value = sc.ToString();
Request.Cookies["searchCounter"].Expires = DateTime.Now.AddDays(2);
}
else
{
Response.Write("new cookie ");
Response.Cookies["searchCounter"].Value = "1";
Response.Cookies["searchCounter"].Expires = DateTime.Now.AddDays(2);
}
Response.Write("Cookie value: " + Request.Cookies["searchCounter"].Value);
由于某种原因,它总是击中else语句。任何想法我做错了什么。
还设置Cookie上的'.Domain',正确的域名,并为我在本地再试 – Aristos
它工作正常。在第一次进入else块,但随后进入主要块 –
顺便说一下,在IF块中,您正在更新请求中的searchCounter cookie,而不是响应。它应该在响应中完成,否则这个scvalue + 1将不会反映在cookie中 –