在ASP.NET MVC中设计向导表单的最佳方法是什么

时间:2011-01-15 10:54:41

标签: c# asp.net-mvc webforms wizard formwizard

我想在向导风格的asp.net中设计一个表单。点击下一步做一些事情。

表单有3个步骤

  1. 填写您的信息

  2. 添加元素[此处如果输入错误,则可以在进入下一步之前编辑或删除它们]

  3. 完成

  4. 使用ajax的强大功能在ASP.NET MVC中设计它的最佳实践是什么。

    是否有人向我展示了我可以在MVC中使用的最佳方式

4 个答案:

答案 0 :(得分:2)

以下是您可以继续操作的方法:向导的每个步骤的元素可以进入单独的div。 “下一个”和“上一个”按钮将显示/隐藏相应的div。在最后一步,将有一个提交按钮,将整个表单发送到服务器。

您还可以查看jquery form wizard plugin

答案 1 :(得分:1)

我实现向导的方法之一是拥有一个单独的数据库表,其中包含您在向导的每个步骤中存储和保存/检索数据所需的所有信息 - 显然取决于向导的大小和目的这可能不适合数据库调用的数量,但我只实现了一个5页向导,每页最多5-10个字段。因此,当您登陆页面时,您查询数据库并从数据库中检索信息,或者如果它不存在,则加载一个空白页面,然后用户可以在其中输入信息,并在单击“下一个”或“上一个”时保存该信息。 / p>

为了在页面之间导航,我只是构建了一个接受页面名称和按钮类型(下一个/上一个)的辅助类,并且有一个简单的switch语句,它将返回页面以导航到RedirectToAction语句然后使用它。同样,这可能不适合更大的应用程序,但您也可以查看使用Windows Workflow(在本文http://www.devx.com/dotnet/Article/29992中提及),因为我知道它可以用于创建向导样式的应用程序。

答案 2 :(得分:0)

它不是特别的MVC解决方案,但我建议使用JQuery LightBox进行客户端实现。

答案 3 :(得分:0)

你不需要任何客户端的东西来实现这一点,将javascript用于除用户便利以外的任何事情也是不好的做法。

你有两个问题:

1:保持状态。即在请求之间保存数据。

2:确定采取哪种行动(通常是下一次或上一次)。

维持状态。

您可以使用会话对象但理想情况下(因此您可以对它们进行单元测试)所有操作都应该是纯函数。我使用隐藏的输入来保存请求之间的数据。

用户操作。

用于下一个/上一个视图。在表单中添加2个提交按钮并为其命名。当你 POST表单,按下按钮时,按钮的值为none。然后重定向到相应的操作。