返回搜索页面而不会丢失搜索条件

时间:2011-04-05 09:40:09

标签: asp.net asp.net-mvc-3

我需要一些关于这个问题的帮助。它是关于ASP.NET MVC3的。我有一个页面顶部有一些搜索条件,底部有结果数据。用户可以键入一些条件并使用提交按钮来提取数据。在我的控制器中,我有一个ActionResult函数来管理这些条件并返回到填充了ViewModel类的同一页面。

问题:用户可以点击结果表格中的一行来查看详细信息页面。在详细信息页面上,他可以导航到编辑页面以编辑数据。在此页面(编辑数据)我希望用户能够返回搜索结果页面(实际上:导航回两次)。什么是最好的方法?如果我“简单地”使用ActionLink(不发布数据)到我的搜索结果页面,它将只显示一个空搜索条件的空结果页面。也许我需要将我的搜索条件保存在会话变量中?我不喜欢这种事......

任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:2)

为什么不把数据放在Session中,如你所说?

public ActionResult Search(string searchCriteria)
{
    Session["searchCriteria"] = searchCriteria;
    // do more stuff     
}

这样,无论用户执行多少次“后退点击”,您都可以使用搜索条件。

你可以让它变得更复杂,但我不认为在这种情况下是必要的。如果要将其作为路径数据传递到操作链接中,则必须在用户可能从“搜索”页面导航到的页面的每个ActionLink中防御性地添加searchCriteria参数。这让我觉得更麻烦。

足够好有时候足够好。稍后根据需要重构。 :)