1

我正在开发一个 MVC 网络应用程序。

我为我的 HTML 表单创建了一个 ViewModel 并将其传递给视图。

我想知道是否有一种方法可以保存用户输入的数据,直到他们提交表单?以下场景是我想要实现的。

设想:

登录 --> 进入表单页面 --> 填写表单(用户数据) --> 不提交 --> 关闭浏览器/注销 --> 再次登录/打开浏览器 --> 进入表单页面 -- > 上次会话输入的数据仍然存在。

有没有办法我可以做到这一点?

我没有使用 ViewBag 或 Session 来加载页面上的表单数据/标签/输入字段(下拉)。一切都通过 ViewModel 传递。

我正在研究 DataAnotaions 但不确定我需要使用哪一个。Cookie 是最不受欢迎的,但没有其他解决方案可用。

干杯

4

2 回答 2

0

如果您不提交表单,数据将永远不会到达服务器,您将无法在服务器端执行任何操作来存储数据。

您唯一的选择是将数据存储在客户端。为此,您有 2 个选项:

  1. 饼干。jQuery.cookie 是一个非常易于使用的工具,或者
  2. HTML5 本地存储。

编辑:

您可以使用 ajax 调用在后台将数据发送到服务器。从技术上讲,这不是“提交”表单。

因此,一旦数据发生变化(最好经过一些延迟),使用 Javascript,您可以使用 Ajax 将当前内容上传到服务器以供以后检索。它认为这就是一些像 SO 这样的网站保存“草稿”内容的方式。

于 2013-08-06T21:32:49.540 回答
0

您可以使用 Ajax、JQuery 或 JavaScript 在后端保存页面的状态。当用户再次登录时,您可以检查状态并相应地检索该使用的数据。

于 2013-08-07T00:40:50.003 回答