如何使用ASP.NETMVC制作向导?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (11)

我们的网站有多个“向导”,其中多个页面收集各种数据,直到最后一步才能提交到数据库。

使用ASP.Net MVC制作这种向导的最佳/正确方法是什么?

我的老板现在说“没有JavaScript” - 有关如何解决这个限制的想法?

提问于
用户回答回答于

我不相信有一个最好的/正确的方式,但我会这样做的方式是......

每个向导都有自己的页面。每一步都有自己的div。所有步骤都采用相同的形式。

上一个/下一个按钮本质上会隐藏/显示进程每一步中的div。最后一步的提交按钮提交整个表单。使用jQuery实现这一点很简单,并且由于所有向导步骤都位于单个ViewPage中,因此很容易进行维护。

在控制器方面,将拥有两种控制器方法,即HttpVerbs.Get版本,它将准备用于查看的表单和HttpVerbs.Post版本,该版本将采用FormsResult并解析它以获取提交用户答案所需的信息存储/其他过程。

这个答案几乎适用于JavaScript禁用的那些******(是的,都是)。你可以调整它来隐藏下一个通过CSS的按钮,并取消隐藏你的JavaScript代码。通过这种方式,使用javascript的人可以看到向导,而没有使用JavaScript的人可以看到整个表单(没有下一个/上一个按钮)。

另一个选项是为向导中的每个步骤创建一个视图。可以将表单的中间结果存储在会话中。这样做需要花费大量时间和精力来实施,这意味着当你演示时,你可能会在你的老板身上挤出一些加班时间,在午餐期间花费大约二十分钟的努力,JavaScript路线实现起来多么容易。

用户回答回答于

如果不能使用JavaScript,那么使用控制器中的方法使每个步骤成为一个视图,并保持数据在会话中,直到准备好提交到数据库。

可以使用ActionLink HtmlHelper方法创建Next和Prev按钮。

扫码关注云+社区