我正在开发MVC网络应用程序。
我为我的HTML表单创建了一个ViewModel并将其传递给View。
我想知道是否有一种方法可以保存用户输入的数据,直到他们提交表单为止?以下场景是我想要实现的目标。
情景:
登录 - >转到表单页面 - >填写表单(用户数据) - >不提交 - >关闭浏览器/注销 - >再次登录/打开浏览器 - >转到表单页面 - >从上次会话输入的数据仍然存在。
有没有办法实现这个目标?
我没有使用ViewBag或Session在页面上加载表单数据/标签/输入字段(下拉列表)。所有内容都通过ViewModel传递。
我正在调查DataAnnotaions,但不确定我需要使用哪一个。 Cookie是最不可取的,但没有其他解决方案可用。
干杯
答案 0 :(得分:0)
如果您不提交表单,数据将永远不会到达服务器,您将无法在服务器端执行任何操作来存储数据。
您唯一的选择是存储数据客户端。为此,您有两个选择:
编辑:
您可以使用ajax调用将幕后数据发送到服务器。从技术上讲,这不是“提交”表格。
因此,一旦数据发生变化(最好在延迟一段时间后),使用Javascript,您可以使用Ajax将当前内容上传到服务器以便以后检索。它认为这是一些像SO这样的网站如何保存内容的“草稿”。
答案 1 :(得分:0)
您可以使用Ajax,JQuery或JavaScript在后端保存页面状态。当用户再次登录时,您可以检查状态并相应地检索该用途的数据。