【发布时间】:2017-07-21 03:00:08
【问题描述】:
我有一个奇怪的问题,我尝试像这样在 Razor 视图中设置 cookie 值:
@{
Layout = "~/Views/Shared/_Layout.cshtml";
HttpCookie e = new HttpCookie("d");
e.Value = @Url.RequestContext.RouteData.Values["id"].ToString();
e.Expires = DateTime.Now.AddMonths(999); // expires after 30 days
Response.Cookies.Add(e);
}
然后我根据这个 cookie 值形成 URL,如下所示:
@foreach(//some collection)
{
<a href="/Items/Index/@Request.Cookies["d"].Value"></a>
}
假设第一个路由 id 值为:
user123
以及下一个路由id值:
user1234
当页面首次加载时,链接如下所示:
/Items/Index/user123
当我第二次传递路由 id 值时,user1234 链接仍然保持不变,例如:
/Items/Index/user123
只有第三次刷新页面时,URL 才会更改为:
/Items/Index/user1234
我想在每次页面加载时将 cookie 值设置为一个新值,然后根据存储在 cookie 中的路由 id 值形成 url...
我在这里做错了什么?
【问题讨论】:
标签: c# asp.net asp.net-mvc razor cookies