繁体   English   中英

Asp.net无法获取更新的Cookie

[英]Asp.net Couldn't get the updated Cookies

通过cookie更新所需的功能,因为它已通过会话实现。 在我的场景中,我将在操作方法中添加/更新Cookie,并且当部分视图呈现时,它将获取Cookie的先前数据。 仅重新加载页面后,它将显示更新的数据。

行动方法

Response.Cookies["TColumns"].Value = string.Join(",", displayListCol); ;
Response.Cookies["TColumns"].Expires = DateTime.Now.AddDays(10);
Response.Cookies["TColumns"].Domain = null;

部分视图

<%
List<string> selectedColumns = Request.Cookies["TColumns"].Value.ToString().Split(',').ToList();
//Some code
%>

遵循这些MSDN链接在asp.net应用程序中写入读取 Cookie。

谢谢!

设置Cookie时,实际上会添加一个响应头。 当客户端收到响应并解析标头时,它将在本地创建cookie。 在下一个请求时,客户端将使用先前设置的cookie设置请求标头。 只有这样才能在服务器上看到Cookie。

在您的代码中,您正在设置cookie并尝试在同一请求中全部读取它。 该cookie尚未设置,因此您无法阅读。 客户端必须发出一个新请求,才能读取Cookie。 这就是刷新页面后代码可以工作的原因。 避免手动刷新页面的一种快速方法是在设置cookie后进行重定向。 无论如何处理,设置后都需要另一个请求来读取Cookie。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM