【问题标题】:Best way to store previous search criteria in ASP.NET在 ASP.NET 中存储以前的搜索条件的最佳方式
【发布时间】:2008-10-31 14:28:58
【问题描述】:

我有一个 Web 应用程序,它允许用户根据某些条件进行搜索、选择一个对象、对其进行编辑,然后返回到之前的搜索。所有编辑都在链接到返回结果的数据网格的单独页面上进行。我想知道存储先前搜索参数的最佳方法是什么,以便当它们返回网格时,它们具有与先前使用的相同的搜索。我想出的最佳选择是使用每个选定参数的 NameValue 集合,并在用户按下搜索按钮时将其存储到 Session 或 cookie 中。关于解决此问题的更好方法还有其他想法吗?

【问题讨论】:

    标签: .net asp.net vb.net


    【解决方案1】:

    如果它是一个通用查询(所有用户通用),您可能希望缓存结果并在返回网格时简单地绑定到缓存的结果。它将为您节省再次拨打电话的处理和带宽费用。

    如果它是用户特定的查询并且您有资源,您可能希望缓存结果。

    如果它是用户特定的查询并且您没有资源,那么缓存参数(就像您提到的那样)可能是最好的选择。

    想出一个强大的缓存方案可能很棘手。看看memcached 看看其他人是如何解决它的(注意ASP.NET Memcached Providers)。

    【讨论】:

      【解决方案2】:

      在我们的应用中,我们有几十个带有搜索字段的列表。我们设计了一个简单的实用程序类,它根据当前 Page 生成一个唯一的字符串并将其存储在会话中。

          public static string GenerateSessionKeyFromPage(Page page)
          {
              return "__" + page.Request.Path;
          }
      

      这允许我们存储搜索字段,而不必在每次添加新页面时都维护一个 NameValue 集合。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-12
        • 1970-01-01
        相关资源
        最近更新 更多