2013-09-04 3 views
0

일단 드롭 다운 변경 이벤트가 발생하면 쿠키 값을 변경하고 싶습니다. jQuery 세션 설정 값

나는 기본 컨트롤러에 다음 코드를 가진 MVC 응용 프로그램이 :

public class CustomController : Controller 
{ 
    HttpCookie mYcookie = new HttpCookie("trycookie"); 
    HttpCookie cookieCounter = new HttpCookie("cookieCounter"); 

    protected override void OnActionExecuted() 
    { 
     if (cookieCounter.Value == null) 
     { 
      mYcookie.Value = "tryvalue"; 

     // do something here // 
     } 
    } 
} 

무엇 할 것은 응용 프로그램을 실행 한 번 쿠키의 인스턴스를 생성합니다.

$.cookie("mYcookie", "tryvaluehere"); 
$.cookie("cookieCounter", "tryvaluehereagain"); 

여기 내 문제 내가 내 C# 코드를 디버깅 할 때마다, 내 쿠키의 값이 "있다"그럼 내가 쿠키를 조작 할 수있는 jQuery를 가지고있다. 나는 같은 jQuery 코드에 쿠키를 경고하기 위해 시도 할 때마다, 나는 값이 나는

alert($.cookie("mYcookie")); 

를 원 내 HttpCookie 인스턴스가 다시 내 방법 밖에 선언 할 경우에도 생성되는거야? 어떤 제안 이라든지 기꺼이 감사 할 것입니다. 미리 감사드립니다!

당신은 요청에서 쿠키를 읽어야

답변

0

:

public class CustomController : Controller 
{ 
    protected override void OnActionExecuted() 
    { 
     HttpCookie myCookie = this.Request.Cookies["trycookie"]; 
     HttpCookie cookieCounter = this.Request.Cookies["cookieCounter"]; 

     if (cookieCounter != null) 
     { 
      // do something here // 
     } 
    } 
} 

또는 당신은 쿠키를 설정 쿠키의 새로운 인스턴스를 생성하고 응답에 추가하려면 :

HttpCookie cookie = new HttpCookie("name", "some value"); 
this.Response.Cookies.Add(cookie); 
+0

나는 this.Request.Cookies를했지만 null입니다. 왜냐하면 사용자가 클라이언트 측에서 이벤트를 트리거하지 않았기 때문에 이것은 첫 번째 코드 실행이기 때문입니다. – Gerald

+0

예, 정상적으로 처리됩니다. 'this.Request.Cookies [ "trycookie"]'는 요청에서 쿠키가 전송된다는 값을 갖습니다. javascript에서 쿠키를 설정하는 경우 첫 번째 요청에서 아무 것도 없을 것입니다. –

+0

첫 번째 실행시이 '쿠키'를 어떻게 사용할 수 있습니까? – Gerald

1

내가 한 것은 요청에서 쿠키의 인스턴스를 만드는 것입니다. 요청이 null 인 경우 해당 쿠키를 새 쿠키로 만듭니다.

public class CustomController : Controller 
{ 
    HttpCookie mYcookie = this.Request.Cookies["trycookie"]; 
    HttpCookie cookieCounter = this.Request.Cookies["trycookie"]; 

    protected override void OnActionExecuted() 
    { 
     if (cookieCounter == null) 
     { 
      mYcookie = new HttpCookie("somenamehere"); 
     } 
     else 
     { 
     // do something here // 
     } 
    } 
} 
관련 문제