MVC如何存储用户搜索,以便用户可以返回

时间:2017-03-28 19:53:39

标签: c# angularjs model-view-controller

这样的事情可能吗?我有一个搜索页面,用户点击一个链接来编辑文档,然后将它们带到另一个页面。

然后用户点击浏览器的后退按钮我想将它们带回到他们中断的结果,这样他们就不必再次搜索了。

编辑:搜索在用户输入参数时起作用,然后转到数据库并以搜索结果视图模型的形式返回结果。该视图模型被解析为表格格式并显示在屏幕上。每行都有一些与之关联的信息,如主键和用户可以看到的其他内容。

用户点击编辑后,它会使用主键返回数据库以获取该行的剩余数据,并在屏幕上显示一个表单。如果用户点击浏览器上的后退按钮,我想将它们带回到他们刚看过的结果集,而不必重新搜索。

我们设置它的方式是当用户点击它时会转到仅执行新搜索页面的索引方法。

2 个答案:

答案 0 :(得分:0)

我完成此操作的方法是使用控制器扩展方法从会话中获取页面的搜索状态。我确定在Angular中有更好的方法可以做到这一点。

答案 1 :(得分:0)

您可以使用HTML5 History API执行此操作。例如,当搜索返回其结果时,您可以使用:

history.replaceState(..);

修改当前浏览器历史记录条目。但它与某些旧版浏览器不兼容,因此如果您必须支持这些浏览器,则可能无法正常运行 - 或者您必须找到解决方法。

有一些包含历史API的第三方角度模块,但它应该可以正常工作。