gpt4 book ai didi

model-view-controller - 带有 MVC 的多步骤向导表单

转载 作者:行者123 更新时间:2023-12-02 00:36:44 24 4
gpt4 key购买 nike

我计划使用 asp.net mvc 2 构建一个多步骤表单。因此,我的 Web 应用程序将有 5 个页面对应 5 个步骤。每个步骤都有两个提交按钮,上一个和下一个。每个步骤的输入数据将被存储以供以后查看。例如,我们已经为第 1、2、3、4 步输入了数据,现在进入第 5 步。当我点击“previous”2 次时,第 3 步应该显示我之前输入的数据。类似的,当我点击“下一步”时,输入的数据也应该保留在第4步(因为我们现在在第3步)每个步骤使用的模型可能非常不同。

我正在寻找一种解决方案来保存每个步骤的数据。我正在考虑 session 和 tempdata,它们都有我必须考虑使用的缺点

  1. session

    • 默认 session 是 cookie session ,因此如果网络浏览器未启用 cookie, session 将无法正常工作。我在这里也有一个问题,当 IE 没有启用 cookie 时,只有在参与者使用 hostname 访问 Web 应用程序的情况下, session 变量才会丢失。 session 在 IE 中使用 ip 地址 url 工作正常
    • Cookies less session:不安全,有很多限制,并且与 post 有问题(http://stackoverflow.com/questions/3972433/mvc2-cookieless-session-issue-using-post 或 http://forums.asp.net/p/1517391/3634908.aspx)<
  2. Tempdata:tempdata 仅针对一个请求持续存在。

非常感谢您的建议!

非常感谢!

最佳答案

我总是使用 session 。我看到您对不使用 cookie 的人表示担忧,但我认为现在这不是问题,因为我不认为有很多用户拒绝 cookie。

我对 session 的偏好是它易于存储和检索并且易于设置。当您横向扩展(到更多服务器)时,您可以轻松地设置您的应用程序以将 session 状态存储在 sql server 数据库中,以便您也为 future 做好准备。

当步骤之间没有存储敏感信息时,我有时会使用隐藏字段,因为用户可以编辑隐藏字段的值。

如果帖子之间有很多信息要共享,并且您不想要很多隐藏字段,您还可以创建一个对象来存储(就像您在 session 中存储它时创建的那样)和序列化对象,对其进行 base64 编码并将其存储在一个隐藏字段中。

关于model-view-controller - 带有 MVC 的多步骤向导表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4305395/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com