删除或重置Cookie

时间:2008-12-22 21:57:57

标签: vb.net cookies reset

我在我的应用程序的一个页面(第3页)上设置了一个cookie Request.Cookies("TemplateName").value。现在我可以从第3页导航到第4页和第2页并保留cookie的值。但是现在当我退出并再次登录它仍然具有该值时,如何在启动新实例时将cookie的值重置为空白?

我试过了:

Request.Cookies("TemplateName").Expires = Now
Request.Cookies("TemplateName").value = "" 

在我的主页上,但Cookie仍保留第2页和第3页的值。

3 个答案:

答案 0 :(得分:5)

您需要使用响应而不是请求

Response.Cookies["TemplateName"].Value = "";

Response.Cookies["TemplateName"].Expires = DateTime.Now;

编辑VB。

Dim subkeyName As String
subkeyName = "userName"
Dim aCookie As HttpCookie = Request.Cookies("userInfo")
aCookie.Values.Remove(subkeyName)
aCookie.Expires = DateTime.Now.AddDays(1)
Response.Cookies.Add(aCookie)


Response.Cookies("userName").Value = "patrick"
Response.Cookies("userName").Expires = DateTime.Now.AddDays(1)

这些示例就在MSDN site

之后

的SideNote

人们通常会尝试使用

Request.Cookies.Remove("MyCookie");

只会从“请求集合”中删除cookie,如果要删除cookie,则需要将其过期。更多信息here

答案 1 :(得分:0)

这可能听起来很愚蠢。

但是你想尝试从其他任何地方设置cookie吗?如果有帮助,请搜索TemplateName的代码。

答案 2 :(得分:0)

我对.Net并不熟悉,但对于一般的网络应用程序,您需要确保在写出任何正文之前设置响应标题,否则可能无法发送。只需要仔细检查一下。