单击后退按钮后保留页面最终状态

时间:2017-02-08 11:17:57

标签: asp.net-mvc browser back-button

我正在使用asp mvc并创建了一个显示网格的页面,用户可以在其中更新行。完成后,单击下一步 - 转到下一页。如果他们单击后退按钮,网格页面会显示最初加载的值,我需要它来显示最终值。

问题

  • 网格页面加载
  • 用户编辑网格页
  • 用户点击下一个按钮(转到下一页)
  • 用户点击浏览器后退按钮
  • 网格页面加载原始值

我已经完成了一些搜索,但我必须提出错误的问题,我只找到了一些使用webforms viewstate的东西。那么我需要搜索什么才能解决此问题?任何指导都会得到满足。

1 个答案:

答案 0 :(得分:0)

你需要以某种方式保持网格的状态。这可以通过以下两种方式之一完成:

  1. 当用户点击下一个,在会话中设置该状态,最后在渲染网格时从会话中读取状态时,使用相关状态数据发布帖子。

  2. 在JavaScript中使用localStorage。基本上,每次用户更改网格时都在localStorage中设置状态,然后在页面加载时,您尝试从localStorage加载网格状态。

  3. 第一种方法得到了更广泛的支持(主要是因为所有工作都是服务器端的),但需要在此操作和视图中添加额外的逻辑。第二种方法更可插拔:您只需插入一个持久/加载状态的脚本,其他任何东西都不需要更改。但是,localStorage是HTML5的一部分,因此它仅适用于现代浏览器,基本上是指IE8 +或任何其他Web浏览器。这实际上非常好,支持明智,但如果你需要支持IE7,它不是一个可行的选择。