2010-02-17 29 views

回答

7

Microsoft: How To Delete a Cookie

您不能直接刪除用戶計算機上的cookie。但是,您可以通過將Cookie的到期日期設置爲過去的日期來指示用戶的瀏覽器刪除Cookie。當用戶下次向設置cookie的域或路徑中的頁面發出請求時,瀏覽器將確定該cookie已過期並將其刪除。

要上的cookie分配已過期的

  1. 確定在請求中是否存在該cookie,如果是這樣,創建具有相同名稱的新的cookie。
  2. 將cookie的到期日期設置爲過去的某個時間。
  3. 將Cookie添加到Response的Cookies集合對象。

以下代碼示例顯示如何在Cookie上設置過期到期日期。

if (Request.Cookies["UserSettings"] != null) 
{ 
    HttpCookie myCookie = new HttpCookie("UserSettings"); 
    myCookie.Expires = DateTime.Now.AddDays(-1d); 
    Response.Cookies.Add(myCookie); 
} 

注:調用Cookies集合的remove方法從服務器端收集cookie的,所以cookie將不會被髮送到客戶端。但是,如果該方法已經存在,該方法不會從客戶端移除cookie。

+0

謝謝U諾亞赫爾德曼女士我收到了,謝謝你的回覆 – 2010-02-17 05:04:28

+0

會話cookie怎麼樣?(即'Expires'從未設置過)?在調用'Remove'方法後,它何時完全刪除?在頁面循環中,我應該何時調用remove來立即影響客戶端? – awe 2011-03-11 13:40:45

1

How to: Delete a Cookie

if (Request.Cookies["MyCookie"] != null) 
{ 
    HttpCookie myCookie = new HttpCookie("MyCookie"); 
    myCookie.Expires = DateTime.Now.AddDays(-1d); 
    Response.Cookies.Add(myCookie); 
} 
3

您是否嘗試過過期的Cookie?

protected void btnDelete_Click(object sender, EventArgs e) 
{ 
    Response.Cookies["cookie_name"].Expires = DateTime.Now.AddDays(-1); 
} 
0

首先,您必須將Cookie的到期日期設置爲以前的日期。

例如:

HttpCookie newCookie = new HttpCookie("newCookie"); 
    newCookie.Expires = DateTime.Now.AddDays(-1); 
    Response.Cookies.Add(newCookie); 

現在只能做的cookie將不會被物理刪除這不會有幫助。你必須刪除cookie。

if (newCookie.Expires < DateTime.Now) 
     { 
      Request.Cookies.Remove("newCookie"); 
     } 

你在這裏。這適用於解決方案中的任何頁面。

+0

請回復,如果它最早爲你工作..! – jith10 2012-01-23 10:02:10

相關問題