我需要一些关于这个问题的帮助.它是关于ASP.NET MVC3的.我有一个页面顶部有一些搜索条件,底部有结果数据.用户可以键入一些条件并使用提交按钮来提取数据.在我的控制器中,我有一个ActionResult函数来管理这些条件并返回到填充了ViewModel类的同一页面.
问题是:用户可以单击结果表中的一行以查看详细信息页面.在详细信息页面上,他可以导航到编辑页面以编辑数据.在此页面(编辑数据)我希望用户能够返回搜索结果页面(实际上:导航回两次).什么是最好的方法?如果我“简单地”使用ActionLink(不发布数据)到我的搜索结果页面,它将只显示一个空搜索条件的空结果页面.也许我需要将我的搜索条件保存在会话变量中?我不喜欢这种事……
任何帮助将受到高度赞赏.
最佳答案 为什么不像你说的那样将数据放在Session中?
public ActionResult Search(string searchCriteria)
{
Session["searchCriteria"] = searchCriteria;
// do more stuff
}
这样,无论用户执行多少次“后退点击”,您都可以使用搜索条件.
你可以把它变得更复杂,但我不认为在这种情况下是必要的.如果要将其作为路径数据传递到操作链接中,则必须防御性地将searchCriteria参数添加到用户可能从“搜索”页面导航到的页面的每个ActionLink.在我看来,这使得它变得更加繁琐.
足够好就足够好了.稍后根据需要重构. 🙂