我们的站点有多个“向导”,其中的各种数据是在多个页面上收集的,并且在最后一步之前无法提交到数据库中。
使用 ASP.Net MVC 制作这样的向导的最佳/正确方法是什么
编辑:我的老板现在说“没有 javascript” - 关于如何绕过这个限制的任何想法?
我不相信有最好/正确的方法,但我这样做的方法是......
每个向导都有自己的页面。每一步都有自己的 div。所有步骤都采用相同的形式。
上一个/下一个按钮基本上会在过程的每个步骤中隐藏/显示 div。最后一步的提交按钮提交整个表单。使用 jQuery 实现这一点非常简单,而且由于所有向导步骤都在单个 ViewPage 中,因此易于维护。
在 Controller 方面,您有两个 Controller 方法,HttpVerbs.Get 版本将准备用于查看的表单和 HttpVerbs.Post 版本将采用 FormsResult 并解析它以获取提交用户答案所需的信息到存储/其他过程。
哇,你的老板很臭。
这个答案几乎适用于那些禁用了 javascript 的 ******(是的,他们两个)。您可以调整它以通过 CSS 隐藏下一个上一个按钮,并在您的 javascript 代码中取消隐藏它们。这样,使用 javascript 的人可以看到向导,而没有 javascript 的人将看到整个表单(没有下一个/上一个按钮)。
另一个选项是为向导中的每个步骤创建一个 View 。您可以将表单的中间结果存储在 Session 中。这种方式将花费大量的时间和精力来实现,这意味着当你证明 javascript 路线是多么容易实现时,你可能可以从你的老板身上挤出一些加类时间,在你午餐时花费大约 20 分钟的时间。
关于c# - 如何使用 ASP.Net MVC 制作向导,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/297148/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |