2011-06-19 67 views
19

我正在一個MVC網站上工作,在我的註銷鏈接中,我想刪除所有當前的域cookie。如何刪除MVC網站中的所有當前域cookie?

我嘗試這樣做:

this.ControllerContext.HttpContext.Response.Cookies.Clear(); 

這:

Response.Cookies.Clear(); 

但都沒有工作,餅乾仍然存在。

+0

的可能重複[你如何使用asp.net MVC 3和C#清除Cookies?](http://stackoverflow.com/questions/5122404/how-do-you-clear-cookies-using- asp-net-mvc-3-and-c) –

+1

我認爲那傢伙只是試圖刪除一個cookie。這傢伙想要全部刪除它們 – Swift

+0

是的,我想清除所有的Cookie,而不僅僅是一個,刪除一個Cookie是好的,我詢問是否刪除所有域Cookie。 –

回答

42

這個怎麼樣?

string[] myCookies = Request.Cookies.AllKeys; 
foreach (string cookie in myCookies) 
{ 
    Response.Cookies[cookie].Expires = DateTime.Now.AddDays(-1); 
} 
+0

這工作非常好,謝謝。 –

+0

沒問題。很高興我能幫上忙。 – Swift

+0

簡單,但工作:-) – vNext

1

這是怎麼回事?

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

這是添加新的cookies不刪除當前,不是? –

+0

對不起。請檢查這個。編輯 –

+0

所以你的想法是添加一個新的cookie與現有的同名,但有-1天到期? –