操作cookie的问题
微软的网页上有这么一句:
不能直接删除用户计算机中的 Cookie。但是,可以通过将 Cookie 的到期日期设置为过去的日期,让用户的浏览器来删除 Cookie。当用户下一次向设置该 Cookie 的域或路径内的页发出请求时,浏览器将确定该 Cookie 已到期并将其移除。
请注意这一句:当用户下一次向设置该 Cookie 的域或路径内的页发出请求时,浏览器将确定该 Cookie 已到期并将其移除。
也就是说,我如果在a页面里用
HttpCookie user = HttpContext.Current.Request.Cookies["userinfo"];
user.Expires = DateTime.Now.AddDays(-1);
HttpContext.Current.Response.Cookies.Add(user);
来设置cookie过期,然后在同页面马上判断cookie是否存在的话,那么永远不可能得到cookie不存在的结果?
我现在发现就是这样 if (HttpContext.Current.Request.Cookies["userinfo"] == null),这个结果永远是false,怎么才能让这个判断的结果为true呢?
[解决办法]
Request.Cookies.Remove("name");
[解决办法]
HttpCookie cook = HttpContext.Current.Request.Cookies["userinfo"];
if (cook != null)
{
cook.Expires = new DateTime(1970, 1, 1);
HttpContext.Current.Response.Cookies.Add(cook);
}
HttpContext.Current.Request.Cookies.Remove("userinfo");
清除cookie