2011-01-27 7 views
2

쿠키에 값을 저장하려고하지만 저장할 수없는 간단한 응용 프로그램이 있습니다. 아래는 코드이며 어디서 문제인지 알 수 없습니다. 이 코드는 뷰에서입니다MVC 2 - 쿠키가 저장되지 않음

public ActionResult Index() 
{ 
    string cookieValue = ""; 

    if (Request.Cookies["my_cookie"] != null) 
    { 
     cookieValue = Request.Cookies["my_cookie"].Value; 
    } 

    if (! string.IsNullOrEmpty(cookieValue)) 
    { 
     ViewData["ck"] = cookieValue; 
    } 
    else { ViewData["ck"] = "no cookie value"; } 

    return View(); 
} 

[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult SaveCookieData(FormCollection formValue) 
{ 
    HttpCookie myCookie = new HttpCookie("my_cookie", formValue["cookieTXT"].ToString()); 

    Response.Cookies.Add(myCookie); 
} 

: 아래

코드는 컨트롤러에서입니다 그것이 어떻게 생겼는지에서

<% using (Html.BeginForm("SaveCookieData", "Home", FormMethod.Post)) { %> 
<textarea id="cookieTXT" rows="2" cols="20" runat="server" /> 
<input id="submitBTN" type="submit" value="Done" runat="server" /> 
<% } %> 

<% if (ViewData["ck"] != null) { %> 
<p>Hello Cookie: <%= ViewData["ck"]%></p> 
<% } %> 

내 양식을 cookieTXT에 대한 데이터를 제출가 비어 있기 때문에 값 formValue [ "cookieTXT"]가 비어 있습니다. 왜 그런지 모르겠다.

도움 주셔서 감사합니다.

답변

3

첫째 :

Response.SetCookie(myCookie);

둘째 사용해보십시오 : 는 브라우저에 저장된 쿠키보고 봤어? 브라우저에서 읽는 쿠키를 보려면 Chrome을 사용합니다. 또한 바이올린을 사용하여 응답에 Set-Cookie :가 올바르게 표시되는지 확인할 수 있습니다. 또한 쿠키를 설정하는 도메인이 쿠키를 읽는 도메인과 일치하는지 확인하십시오.

Ex. Domain = domain.com

쿠키를 읽으려면 URL에 domain.com이 있어야합니다.

+0

감사합니다. 나는 C#에 익숙하지 않고 여기에서 도움이된다. =) –

+0

확실한 것은, 나는이 문제를 롤백하기 전날에 그냥 겪었습니다! – MattPII

관련 문제