在会话之间保存用户表单数据

时间:2011-05-14 13:20:33

标签: forms session persistence viewstate

我正在寻找有关在会话之间为多页用户表单保存数据的最佳方法的建议。我正在使用c#3.5和SQL Server 2008

表单目前处于必须完成整个表单的状态,我想更改它以便可以保存表单和数据并从某个点恢复,并寻找建议,最佳实践等。< / p>

1 个答案:

答案 0 :(得分:0)

假设这是一个webapp,您需要将字段存储在数据库中。在表单的每个页面上,包含一个“保存”按钮,该按钮将获取当前可访问的字段并将它们存储在数据库中。还有一个“下一页”按钮。在最后一页上,包含“提交”按钮。单击时,这将检索表单数据库中的所有字段并提交它以在数据库的新表中创建新条目(例如CompletedFormTable)

你还必须做一件事。您必须在每个页面上包含表单的ID,以便您可以在数据库中标识表单数据。有几种方法可以做到这一点。

  1. 将会话cookie添加到用户的浏览器。在表单表中包含“会话cookie”字段,以标识表单数据的去向。
  2. 在表单中包含一个隐藏字段,该字段引用数据库中条目的“id”。
  3. 将所有内容存储在浏览器(json对象)上并使用ajax,这样您就不必重新加载页面。您可以只更新json对象,而不是在表中输入所有内容。在提交时,将json对象发送到服务器,然后服务器将在数据库中创建一个条目以进行存储。