当前url进入cookie文件

时间:2010-09-08 20:07:22

标签: c# .net asp.net-mvc url cookies

简短的问题是:“如何将当前网址保存到Cookie文件中?”

整个问题如下。我必须保存客户端已经在他的cookie中应用到我的网格的当前过滤器,下次他登录数据看起来就像他希望它看起来一样。该服务没有任何“登录”内容,只是向用户提供可用数据。这一切都是用ASP.MVC / C#编写的。

如果您对此任务有任何其他解决方案,我将很乐意与您讨论!

感谢您给我一分钟。

1 个答案:

答案 0 :(得分:3)

http://msdn.microsoft.com/en-us/library/ms178194.aspx

简而言之,您可以通过调用Response.Cookies来访问用户的cookie数据,以获取由您为每个cookie提供的名称键入的HttpCookie对象的字典(非常类似于Session或ViewState数据存储)。您可以通过在索引器中指定cookie名称来添加此功能,就像它在那里并设置Value和ExpirationDate属性一样,或者通过创建新的HttpCookie并调用Cookies.Add。

虽然cookie可以包含多达4k的数据,但可能没有必要存储整个URL。我会将查询字符串(具有相关的过滤器设置)存储在该特定页面将知道的唯一名称下,以便从(“<page name here>FilterSettings”(或许)获取其cookie数据。然后,在PreInit上获取请求,如果其QueryString为空但是有一个Cookie已保存过滤器设置,请将保存的查询字符串添加到当前URL并重定向。

请记住,客户端可以控制是否保存cookie数据;浏览器可以接受所有,接受来自可靠来源,询问所有,或拒绝所有。在这种情况下,没什么大不了的;这是纯粹的便利,这正是cookie应该用于什么。如果这是有价值的数据,您可能必须根据用户将其保留在服务器端。