饼干

2013-03-25 142 views
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在asp.net mvc的未设置。以上是我在控制器操作中的代码。这个代码的目的是设置一个cookie,如果没有的话,并且如果有一个cookie集合,则读取一个值。饼干

但是,设置断点之后,我发现了如果零件永远不会被执行,就好像根本没有设置cookie一样。

这里有什么问题?

+0

尝试提琴手检查响应。将代码复制到MVC4控制器中我看到 {code} Set-Cookie:last_visited = 25/03/2013 10:38:51; expires =星期四,04-Apr-2013 17:38:52 GMT;路径=/ {code}在提琴手。 – Dylan 2013-03-25 17:40:41

回答

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; 
} 
+1

你是我的坏人。我没有睡2天,我的头像滚球一样滚动。无论如何,谢谢。 – 2013-03-25 17:51:15