Cookie, не сохраняемый в MVC

Для Rails 3.2 добавьте config.assets.logger = false в файл конфигурации среды разработки, обычно находящийся в config/environments/development.rb. См. # 4512

.

5
задан 30 June 2009 в 22:55
поделиться

2 ответа

Причина, по которой

Response.Cookies["temp"].Expires = DateTime.UtcNow;

не работает, заключается в том, что он устанавливает cookie с истечением срока действия в прошлом (по крайней мере, для меня).

Он работает, когда я меняю его на

Response.Cookies["temp"].Expires = DateTime.UtcNow.AddDays(3);

Установка свойства истечения срока действия cookie в прошлое приведет к удалению файла cookie.

Этот код работает для меня:

    public ActionResult Index() {
        HttpCookie cookie = Request.Cookies["temp"];
        if (cookie == null) {
            ViewData["Message"] = "Cookie Not Found";
            Response.Cookies["temp"].Value = "This is a cookie: Welcome to ASP.NET MVC!";
            Response.Cookies["temp"].Expires = DateTime.UtcNow.AddDays(3);
        } else {
            return RedirectToAction("Something");
        }
        return View();
    }

    public ActionResult Something() {
        HttpCookie cookie = Request.Cookies["temp"];
        ViewData["Message"] = cookie.Value;
        return View();
    }
5
ответ дан 14 December 2019 в 08:58
поделиться

Прочтите эту статью. Он должен решить вашу проблему!

http://stephenwalther.com/blog/archive/2008/07/08/asp-net-mvc-tip-15-pass-browser-cookies-and-server-variables-as -action-parameters.aspx

    var newCookie = new HttpCookie("myCookie", cookieValue);
    newCookie.Expires = DateTime.Now.AddDays(10);
    Response.AppendCookie(newCookie);
    return RedirectToAction("Index");
2
ответ дан 14 December 2019 в 08:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: