我有一個方法調用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中 –