2012-10-27 4 views
3

다차원 쿠키를 사용하여 응용 프로그램에 쿠키를 저장했습니다. C에서 다차원 쿠키 지우기 #

HttpCookie MyCookie = Request.Cookies["Temp"] as HttpCookie; 
       if (MyCookie != null) 
       { 
        MyCookie.Values["SID"] = Session.SessionID; 
        MyCookie.Values["NAME"] = "NAME"; 
        MyCookie.Values["abc"] = "abc"; 
        MyCookie.Values["xyz"] = "xyz"; 
        ... 
       } 

예를

를 들어 지금 내가 사용이 다차원 쿠키를 검색 할 수 있습니다.

string s = Request.Cookies["Temp"]["SID"] 

내 질문에 "Temp"쿠키의 "SID"값 만 만료시키고 싶습니다. 나는 이것으로 시도했다

Request.Cookies["Temp"]["SID"] = null; 

그러나 작동하지 않는다. 다차원 쿠키에서 특정 인덱스를 명확하게 처리하려면 어떻게해야합니까?

답변

0

이 이미 다음과 같은 질문에 대한 답변 : ASP.NET Cookie Sub-Value Deletion

HttpCookie.Values ​​해당 모음을 수정할 수 있도록 NameValueCollection은이 -하지만 당신은 덮어 쓸 수있는 새로 쿠키를 다시 보내야합니다 는 하나의 오래 :

HttpCookie cookie = Request.Cookies["Temp"]; 
if(cookie != null) 
{ 
    cookie.Values.Remove("SID"); 
    Response.AppendCookie(cookie); 
} 

이 제품은 또한 다음과 MSDN 페이지에서 설명이 : http://msdn.microsoft.com/en-us/library/aa289495(v=vs.71).aspx#vbtchaspnetcookies101anchor9

0

이렇게하면됩니다.

Request.Cookies["Temp"].Values["SID"] = null; 

희망이 있습니다. :)

+0

이 너무 작동하지 않습니다. 응답에 쿠키를 다시 추가해야합니다. –

관련 문제