2012-03-12 4 views
0

내 사이트에서 사용하는 쿠키를 모두 삭제하려고하지만 읽을 수는 없으므로 유일한 옵션은 만료일을 과거로 변경하고 브라우저가 작업을 수행합니다. 나는 'CookieDisplay'라고 불리는 순간에 하나의 쿠키를 가지고 있습니다. asp.net에서 페이지로드 이벤트에 나는이 :쿠키가 만료일을 변경하지 않습니다

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
    For Each key As String In Request.Cookies.AllKeys 
     Dim cookie As New HttpCookie(key) 
     If (Not Request.Cookies(cookie.Name.ToString) Is Nothing) Then 

      cookie.Expires = DateTime.Now.AddDays(-1D) 
      Response.Cookies.Add(cookie) 
     End If 

    Next 

End Sub 

이 코드는 'CookieDisplay'을 위해 쿠키를 찾아 만료 날짜를 변경합니다. 그러나 클라이언트 측면에서 다음과 함께 페이지로드 이벤트 후 트리거 자바 스크립트 있습니다.

function getCookie(c_name) { 
    var i, x, y, ARRcookies = document.cookie.split(";"); 
    for (i = 0; i < ARRcookies.length; i++) { 
     x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("=")); 
     y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1); 
     x = x.replace(/^\s+|\s+$/g, ""); 
     if (x == c_name) { 
      return unescape(y); 
     } 
    } 
} 

function checkCookie() { 


     var SavedData = getCookie("CookieDisplay"); 
    if (SavedData != null && SavedData == "true") { 
     closeme(); 
    } 
} 

문제는 유효 기간이 촬영되지 않도록 쿠키 그래서 쿠키가 만료되지 않습니다 영향 때문에 아직 보여줍니다 값을 반환합니다. 이 쿠키가 자바 스크립트에서 만들어지고 asp.net에 액세스 할 수 없기 때문에이 쿠키를 사용할 수 있습니까? 쿠키가 생성 된 위치에 따라 javascript와 asp.net에서 쿠키를 만료해야합니까? 자바 스크립트 및 HTTP 요청에 의해 생성 된 쿠키에 의해 생성

답변

1

쿠키 다르지 않다

감사합니다. 이 쿠키가 설정되어있는 도메인 및 경로를 확인하십시오. 그들은 동일해야합니다.

+0

원본 쿠키 (javascript로 생성)가 localhost로 도메인을 넣었으므로 cookie.Domain = "localhost"를 서버 측 코드에 추가했습니다. 이것은 아무런 효과가 없습니다. – mjroodt

+0

질문에 javascript setCookie 함수를 추가 할 수 있습니까? –

+0

function acceptClicked() { setCookie ("CookieDisplay", true, 365); } – mjroodt

관련 문제