【问题标题】:Persisting Data During Form Wizard在表单向导期间保留数据
【发布时间】:2013-11-07 06:13:10
【问题描述】:

我目前有一个 3 步表单向导,可以从用户那里获取大量信息。第一页包含多个文本字段,第二页包含网格,第三页包含更多文本字段。我目前在每一步之后将数据持久化,并且在将每一行添加到网格中之后,在数据库中。原因是用户不会因为系统故障或会话超时而丢失他们输入的数据。我想知道这是否是保存这些信息的理想方式,或者是否有更好的方式?

感谢任何帮助。

【问题讨论】:

  • 第一步后将它们存储在隐藏的地方
  • 或在本地存储中(在浏览器中)
  • @LasseEdsvik 我目前将数据作为 Json 存储在隐藏字段中,我担心的是用户会话是否超时,或者他们是否不小心离开了向导
  • @Will 如果会话终止,隐藏字段显然不会持续存在,但如果这是一个问题,那么您需要查看替代方案。如果您对包含大量字段的许多页面有一个很长的向导过程,那么将其保存在数据库中可能有助于用户体验。大多数网站不会保留表单数据,但这完全取决于您想要实现的目标。

标签: asp.net-mvc database forms wizard


【解决方案1】:

有几种方法可以持久化数据:

  • 将发布的用户输入的数据重新发送回视图,然后使用 @Html.HiddenFor(model => model.Whatever) 确保它返回 发给在岗的管制员。这将继续将用户数据保留在视图模型中,您只需将其在视图之间传递。
  • 将用户数据保存在会话HttpContext.Session["UserFormData"];
  • 或者,您可以将用户输入的数据保存到数据库中, 正如你目前正在做的那样。我个人更喜欢这个 解决了会话超时问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-15
    • 1970-01-01
    • 1970-01-01
    • 2021-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多