2008-12-22 428 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並不熟悉,但是對於一般的網絡應用程序,您需要確保在寫出任何主體之前設置您的響應標頭,否則可能無法發送它們。只是要仔細檢查。