我有一个相当复杂的ASP MVC控件集,用于设置数据过滤器(帐户ID范围,成本范围,运营商,日期等)。这还会创建一个带有标准结果集类型对象的数据表对象。
用户可能会想到远离页面然后再回来。我想恢复先前的过滤器控制状态,同时拉出当前结果集。
用于存储用户会话状态的标准ASP MVC方法是什么?我有权访问SQLServer数据库。一种想法是将过滤器视图对象和当前结果存储在缓存中。
我不需要在会话访问之间恢复状态(它们关闭浏览器并在其他时间返回。)
答案 0 :(得分:0)
存储会话状态是正确的关键词。
http://msdn.microsoft.com/en-us/library/ms972429.aspx
http://www.devarticles.com/c/a/ASP/Maintaining-Session-State-With-ASP/
你需要简单地获取会话状态变量并以某种方式存储它,然后以某种方式检索它。这可能是很多工作,并且可能有一种内置的方法来实现它,因为你有一个MS SQL Server。但是我不知道挂起那些东西,所以我将会话对象写入一个钩在数据库中的对象流。您可以稍后查询。
编辑: 另一方面,既然你说你不需要在两次访问之间恢复它,也许你只是想让这个的租约期限比它更长。听起来他们超时了?告诉它再连接几个小时。除非他们关闭页面,否则如果浏览器删除了cookie,他们将在前面获得新的登录。
答案 1 :(得分:0)
我相信您只想保留过滤器值而不是查询结果吗?如果是这样,您可能希望将它们保存为字符串并将其保存在cookie中。你也可以使用asp会话。会话存在一些可扩展性缺点,但它通常是最简单的选择。