记住字段数据,直到提交

时间:2013-08-06 21:26:58

标签: c# asp.net-mvc razor

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

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

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

情景:

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

有没有办法实现这个目标?

我没有使用ViewBag或Session在页面上加载表单数据/标签/输入字段(下拉列表)。所有内容都通过ViewModel传递。

我正在调查DataAnnotaions,但不确定我需要使用哪一个。 Cookie是最不可取的,但没有其他解决方案可用。

干杯

2 个答案:

答案 0 :(得分:0)

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

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

  1. 缓存数据。 jQuery.cookie是一个非常易于使用的工具,或者
  2. HTML5本地存储。
  3. 编辑:

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

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

答案 1 :(得分:0)

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