【问题标题】:ASP.NET MVC, save search criteriaASP.NET MVC,保存搜索条件
【发布时间】:2010-01-17 15:25:30
【问题描述】:

我有一个简单的ASP.NET MVC 应用程序,比如电影样本。 在 list.aspx 页面中,我有一个网格,该网格包含来自数据库的信息。 我可以按搜索条件填充网格。

例如,我选择product.cost < 60,我提交。网格中填充了产品,其中产品成本

在我单击详细信息以查看结果集中一个产品的详细信息后。 在我点击返回列表 (html.ActionLink("Back to list", "Index") 之后。在这一刻产生了我的问题。因为,将显示所有产品。

保存以前的搜索条件的最佳方法是什么? (当我点击“返回列表”时,我需要之前保存的搜索条件)。

【问题讨论】:

  • 大家好,非常感谢您的回答。我有一个问题,关于个人资料。你认为,使用配置文件解决这个问题是个好主意,还是不用?

标签: asp.net asp.net-mvc


【解决方案1】:

您可以将搜索条件参数作为查询字符串传递,例如:<%= Html.ActionLink("Search", "Index", "Search", new {var=value1,var2=value2 }, new { })%>

或者您也可以将条件保存到 Session 对象中,但我认为将其作为查询字符串传递对您来说是更好的解决方案。

【讨论】:

  • 拜托,你能喜欢我吗,我在哪里可以阅读有关会话对象的信息?
  • 您可以在这里找到有关它的信息:aspfree.com/c/a/ASP.NET/…
  • 会话状态可以像在 ASP.NET 网络表单中一样使用,请参阅:wiki.asp.net/page.aspx/57/session
  • 匿名用户的偏好也可以保存在会话中?
  • 是的。您可以保存当前用户(也可以匿名)设置
【解决方案2】:

将您的搜索条件放在堆栈上。然后,您可以在“使用”标准后立即退出,然后返回到之前的标准。

【讨论】:

  • 据我了解,将每个查询保存在数据库中。并按用户 ID 弹出。
  • 不,我只是使用 Stack 对象。不要费心将它保存到数据库中,因为每次运行应用程序时,查询可能会有所不同,除非我误解了您应用程序的工作方式。
  • @Tony:堆栈对象?它是什么?
  • Tony - 出于好奇,您会将这些信息放在用户的会话中吗?
猜你喜欢
  • 2012-05-21
  • 1970-01-01
  • 1970-01-01
  • 2012-09-03
  • 1970-01-01
  • 2012-06-16
  • 2011-02-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多