删除或重置Cookie

Mit*_*hil 4 vb.net cookies reset

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

我试过了:

Request.Cookies("TemplateName").Expires = Now
Request.Cookies("TemplateName").value = "" 
Run Code Online (Sandbox Code Playgroud)

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

cgr*_*eno 5

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

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

Response.Cookies["TemplateName"].Expires = DateTime.Now;
Run Code Online (Sandbox Code Playgroud)

编辑为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)
Run Code Online (Sandbox Code Playgroud)

这些示例直接来自MSDN站点

边注

人们经常尝试使用

Request.Cookies.Remove("MyCookie");
Run Code Online (Sandbox Code Playgroud)

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