0
if (HttpContext.Request.Cookies["time"]==null)
{
    HttpCookie cookie = new HttpCookie("last_visited",DateTime.Now.ToString());
    cookie.Expires = DateTime.Now.AddDays(10);
    HttpContext.Response.Cookies.Add(cookie);
}
else if(HttpContext.Request.Cookies["last_visited"]!=null)
{
    ViewBag.last_visited = HttpContext.Request.Cookies["last_visited"].Value;
}

我正在尝试在 asp.net mvc 中设置一个 cookie。以上是我在控制器操作中的代码。这段代码的目的是在没有 cookie 时设置一个 cookie,如果有 cookie 集则读取一个值。

但是,在设置断点之后,我发现 else if 部分永远不会被执行,就好像根本没有设置 cookie 一样。

这里有什么问题?

4

1 回答 1

2

是不是第一个 if 语句检查了错误的 cookie?应该"time"改为"last_visited"

固定代码:

if (HttpContext.Request.Cookies["last_visited"]==null)
{
    HttpCookie cookie = new HttpCookie("last_visited",DateTime.Now.ToString());
    cookie.Expires = DateTime.Now.AddDays(10);
    HttpContext.Response.Cookies.Add(cookie);
}
else if(HttpContext.Request.Cookies["last_visited"]!=null)
{
    ViewBag.last_visited = HttpContext.Request.Cookies["last_visited"].Value;
}
于 2013-03-25T17:33:59.160 回答