var user = new HttpCookie("UserInfo");
user.Values["UserID"] = Model.ID.ToString();
user.Values["TrueName"] = Model.TrueName;
user.Expires = DateTime.Now.AddDays(1);
//user.Expires.AddDays(1);
Response.AppendCookie(user);
首先是添加,这里要说明下,注意注释掉的那条。
用user.Expires.AddDays(1);得到的效果是下面的
![]()
用user.Expires = DateTime.Now.AddDays(1);得到的效果是下面的

当要退出某网站,要删除的时候,一般就是设置过期,如下:
HttpCookie cookie = Request.Cookies["UserInfo"];
if (cookie != null)
{
cookie.Expires = DateTime.Now.AddDays(-1);
Response.AppendCookie(cookie);
}
问题关键就在:如果创建的时候用的user.Expires.AddDays(1);,那么恭喜,退出操作无效。
必须使用user.Expires = DateTime.Now.AddDays(1);才能正常退出,删除cookie。

本文详细介绍了在ASP.NET中如何正确地管理和删除Cookie,包括设置Cookie的有效期及退出时如何确保Cookie被删除。文章指出,在设置Cookie时,应使用DateTime.Now.AddDays(1)而非Expires.AddDays(1),以确保在用户退出时能够正确删除Cookie。
3143

被折叠的 条评论
为什么被折叠?



