2008-12-22 110 views
3

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

我想:

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

在我的主页,但该cookie仍然保留2页上,你需要使用Response不是请求值3

+0

另外,这是什么语言? ASP通过VB? – 2008-12-22 22:02:58

+0

对不起....我正在使用vb.net – Mithil 2008-12-22 22:18:39

回答

4

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

0

这听起来很愚蠢。

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

0

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