我在Request.Cookies("TemplateName").value
我的应用程序的页面之一(第3页)上设置了Cookie 。现在,我可以从第3页导航到第4页和第2页,并保留cookie的值。但是现在,当我注销并再次登录时,它仍然具有该值,如何在启动新实例时将cookie的值重置为空白“”?
我试过了:
Request.Cookies("TemplateName").Expires = Now Request.Cookies("TemplateName").value = ""
在我的主页上,但cookie仍保留第2和第3页上的值。
您需要使用响应而不是请求
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站点
边注
人们经常尝试使用
Request.Cookies.Remove("MyCookie");
这只会从“请求集合”中删除cookie,如果要删除cookie,则需要使其过期。更多信息在这里