如何在ASP.NET MVC的向导样式页面中重新填充所有内容?

时间:2009-02-27 21:53:20

标签: asp.net-mvc

我有一个页面可以在我们的服务台系统中创建一张票。它充当向导,具有以下步骤:

第1步

用户从下拉列表中选择客户。有一个jquery onchange事件触发并生成第2步的列表,并隐藏step1 div并显示step2 div。

第2步

用户从下拉列表中选择位置。这是基于在步骤1中选择的客户生成的。有一个jquery onchange事件,它触发并生成步骤3的列表,并隐藏step2 div并显示step3 div。

第3步

用户从下拉列表中选择类型,并将文本输入3个不同的文本框。如果用户输入文本失败或输入无效文本,我的控制器会将模型状态更改为无效并返回视图。

如何通过用户选择的正确选择再次重新填充所有下拉列表并让页面在步骤3重新显示?

我的第一个想法是使用ajax,当用户点击Create按钮时,我可以从那里创建票证,如果成功,则将它们发送到票证详细信息。如果不成功,只需显示一条错误消息,我仍然在页面上,所以没什么大不了的。现在我写出来了,我认为这是最好的。使用ajax有什么重大问题吗?现在似乎大多数网站都使用某种类型的javascript或ajax。

第二个想法是根本不使用ajax并将所有页面提交给服务器。

你有什么建议?

2 个答案:

答案 0 :(得分:2)

3个步骤显示完全不同的标记。 除了在更改步骤时避免的页面闪烁之外,AJAX版本可能没有多少收获。

如果你采用非AJAX方式获得:

  • 精美的书签链接(www.ticketsystem.com/Customer - > www.ticketsystem.com/Customer/Microsoft/ - > www.ticketsystem.com/Customer/Microsoft/Location - > www.ticketsystem.com/客户/微软/位置/雷德蒙德)
  • 浏览器历史记录
  • 更容易测试

要在步骤3之后重新显示列表,您将加载所有列表,并根据URL中的参数设置所选项目。

答案 1 :(得分:0)

我同意你的看法。使用AJAX提交票证。