Javascript 在浏览器中存储用户输入的表数据

Javascript 在浏览器中存储用户输入的表数据,javascript,html,.net,asp.net-mvc,local-storage,Javascript,Html,.net,Asp.net Mvc,Local Storage,基本上,我在MVC站点上有一个页面,允许用户向表中添加行并修改每行的数据(通过下拉列表和文本框)。其中一个要求是,如果用户刷新页面,数据将以某种方式保存并重新加载到表中 不仅在客户端保留数据至关重要,而且刷新页面将触发GET,从而调用页面的索引操作。索引操作(此时)假定页面是第一次加载的,因此它不关心任何现有的表数据。但是,此页面不是用户当前可以自行访问的页面。用户在填写上一页的数据后到达此页。该数据(来自上一页)存储在TempData中,并在触发索引操作时传递给该页的VM。服务器端的问题是,当

基本上,我在MVC站点上有一个页面,允许用户向表中添加行并修改每行的数据(通过下拉列表和文本框)。其中一个要求是,如果用户刷新页面,数据将以某种方式保存并重新加载到表中

不仅在客户端保留数据至关重要,而且刷新页面将触发GET,从而调用页面的索引操作。索引操作(此时)假定页面是第一次加载的,因此它不关心任何现有的表数据。但是,此页面不是用户当前可以自行访问的页面。用户在填写上一页的数据后到达此页。该数据(来自上一页)存储在TempData中,并在触发索引操作时传递给该页的VM。服务器端的问题是,当用户刷新页面时,TempData将不存在

我想到的解决办法是这样的

提供通过
$(window.bind('pageunload',…)触发的JavaScript函数。此函数将表序列化为JSON对象,并使用键将其存储在本地存储器中。当页面加载时,JavaScript将检查本地存储中是否存在该键。如果是这样,它将加载该表,该表仍应包含它需要发布回服务器并成功绑定到操作(及其视图模型)的所有数据

这一拟议解决方案有两个问题:

  • 这是一个好的解决方案吗。如果不是,那最好是什么
  • 如果#1为“是”,我应该在服务器端做什么来让索引操作知道页面正在重新加载,因此它不应该对TempData进行任何关注(可能只是检查TempData是否为null,如果为空,则返回一个空VM??)
  • 提前感谢您的回答