开发者

MVC 2 - Cookies Not Saving

开发者 https://www.devze.com 2023-02-06 22:58 出处:网络
I have a simple application where I am trying to save a value into my cookie but it is not saving. Below is the code and I do not know where the problem is.

I have a simple application where I am trying to save a value into my cookie but it is not saving. Below is the code and I do not know where the problem is.

Code below is from the controller:

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);
}

This code is from the view:

<% 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> 
<% } %>

From what it looks like is my form submitted data for cookieTXT is empty because the value for formValue["cookieTXT"] is blank. I can not figure it out why?

Thanks for the help.


First: Try using

Response.SetCookie(myCookie);

Second: Have you tried looking at the cookie saved in the browser? I use Google Chrome to see the cookies that are being read by the browser. You can also use fiddler to see the Set-Cookie: in the response to see if it is responding correctly. Also, make sure the domain setting the cookie matches the domain that is reading the cookie.

Ex. Domain = domain.com

Your site must have domain.com in the URL to read the cookie.

0

精彩评论

暂无评论...
验证码 换一张
取 消