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,如果部分永远不会被执行,就好像根本没有设置cookie一样。
这里有什么问题?
答案 0 :(得分: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;
}