我在ASP.NET应用程序的一个页面中创建一个cookie,我想在另一个页面中删除它。我该怎么做?
答案 0 :(得分:7)
Microsoft: How To Delete a Cookie
您无法直接删除用户计算机上的Cookie。但是,您可以通过将cookie的过期日期设置为过去日期来指示用户的浏览器删除cookie。下次用户向设置cookie的域或路径中的页面发出请求时,浏览器将确定cookie已过期并将其删除。
为Cookie指定过去的截止日期
以下代码示例显示如何在Cookie上设置过去的截止日期。
if (Request.Cookies["UserSettings"] != null)
{
HttpCookie myCookie = new HttpCookie("UserSettings");
myCookie.Expires = DateTime.Now.AddDays(-1d);
Response.Cookies.Add(myCookie);
}
注意:调用Cookies集合的Remove方法会从服务器端的集合中删除cookie,因此cookie不会发送到客户端。但是,如果cookie已存在,则该方法不会从客户端中删除cookie。
答案 1 :(得分:3)
您是否尝试过期Cookie?
protected void btnDelete_Click(object sender, EventArgs e)
{
Response.Cookies["cookie_name"].Expires = DateTime.Now.AddDays(-1);
}
答案 2 :(得分:1)
if (Request.Cookies["MyCookie"] != null)
{
HttpCookie myCookie = new HttpCookie("MyCookie");
myCookie.Expires = DateTime.Now.AddDays(-1d);
Response.Cookies.Add(myCookie);
}
答案 3 :(得分:0)
首先,您必须将Cookie的到期日期设置为上一个日期。
例如:
HttpCookie newCookie = new HttpCookie("newCookie");
newCookie.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(newCookie);
现在只有这样做才没有用,因为cookie不会被物理删除。你必须删除cookie。
if (newCookie.Expires < DateTime.Now)
{
Request.Cookies.Remove("newCookie");
}
你走了。这适用于解决方案中的任何页面。