【问题标题】:Restoring page results in ASP.NET MVC在 ASP.NET MVC 中恢复页面结果
【发布时间】:2010-07-27 00:19:21
【问题描述】:

我正在使用 ASP.NET 3.5 MVC 应用程序。我们有一个功能,我们可以使用一些参数搜索“客户搜索结果”。

如果用户输入一些搜索参数,例如出生日期/SSN/地址,然后点击搜索,搜索结果将显示在下方的网格中。可以单击结果中的一条记录并导航到客户信息页面。在该页面中,您可以点击“返回搜索结果”再次返回搜索结果页面,这可能会显示搜索参数和上次搜索的结果。

我们使用 sql server 会话状态。我正在使用视图模型和模型绑定器来存储搜索参数和结果。因此,当用户从客户信息页面返回搜索结果页面时,我使用存储在模型绑定器中的数据将搜索结果绑定回来。

但是,假设用户在客户信息页面中,当会话到期时,当用户尝试返回搜索结果页面时,搜索参数和搜索结果都丢失了。

当信息丢失时,我应该能够从某个可以恢复的地方提取搜索参数(存储不应该是 SESSION)。我试图将参数存储在 SQL 表中,并在会话中的数据丢失时将其拉回。

我不必担心搜索结果,因为我可能需要调用服务来提取结果,但只关心由于会话到期而丢失搜索参数时的检索方式。

我可以知道除了将搜索参数存储在表格中之外是否还有其他方法可以做到这一点?

【问题讨论】:

    标签: asp.net-mvc


    【解决方案1】:

    SARAVAN - 您可以使用本地存储(如果使用 javascript)。这是在很多库中实现的,甚至被用作 jquery .data() 方法的一部分。我正在使用 mvc2 并大量使用这种机制 - 它有效!

    见:

    http://dev.w3.org/html5/webstorage/#the-localstorage-attribute

    http://en.wikipedia.org/wiki/Web_Storage

    http://msdn.microsoft.com/en-us/library/cc197062%28VS.85%29.aspx

    吉姆

    [编辑]一些本地存储 jquery 链接:

    http://plugins.jquery.com/project/DOMCached

    http://plugins.jquery.com/project/jStorage

    【讨论】:

    • 感谢您的回答。我会调查并评论它。
    • 我刚刚浏览了您建议的链接。但似乎 sessionStorage 和 localStorage 对象仅适用于 IE8。我们应该为 IE6 及更高版本开发应用程序。请问我是否还能使用 localStorage?
    • SARAVAN - 我成功使用的小 js 对象进行检查以确定浏览器功能,然后使用 localstorage、globalStorage、userdata、cookie 或任何合适的存储机制。我会看看我从哪里获取它并删除链接。更新,这是我用作起点的链接:plugins.jquery.com/files/jstorage.js_6.txt try googling -> 'window.localStorage object jquery'
    • 此外,在此页面上处理离线应用程序和会话超时(根据您的情况)时,值得看看 localstorage 的一些新兴功能:sitepoint.com/blogs/2010/02/12/offline-web-application-tutorial
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-12
    • 1970-01-01
    • 2011-07-18
    • 1970-01-01
    • 2012-03-17
    相关资源
    最近更新 更多