如何创建与Webforms Wizards功能类似的MVC“向导”?

时间:2009-04-21 09:26:24

标签: asp.net-mvc

我想在ASP.NET MVC中创建一个向导,类似于ASP.NET webforms中的向导控制功能。

这样做的最佳方式是什么?

5 个答案:

答案 0 :(得分:6)

使用ASP.NET MVC,我建议使用javascript / jquery在网页中创建向导;

之类的东西
<script type="text/javascript">
    $().ready(InitializeWizard);
    function InitializeWizard() {
        $(".step").hide();
        $("#step1").show();
    }
    function Step1OK() {
        $("#step1").hide();
        $("#step2").show();
    }
    function Step2OK() {
        $("#step2").hide();
        $("#stepComplete").show();
    }
</script>

<div id="step1" class="step">
    Step 1
    <input type="button" onclick="Step1OK();" value="OK" />
</div>
<div id="step2" class="step">
    Step 2
    <input type="button" onclick="Step2OK();" value="OK" />
</div>
<div id="stepComplete" class="step">
    Complete
</div>

NB!请记住,在文档的顶部,加载jquery,例如通过引用谷歌链接:

<script src="http://www.google.com/jsapi"></script>
<script>
    google.load("jquery", "1.3.2");
</script>

答案 1 :(得分:2)

在ASP.NET MVC中使用向导控件没有简单的方法。因为ASP.NET MVC不是Web表单,所以你应该停止思考 webformy 并开始思考 MVC方式。更好的办法是利用jQuery和partials(部分视图)来提供良好的用户体验,引导用户完成一些预定义的步骤。

答案 2 :(得分:2)

ASP.NET MVC本身是一种无状态设计模式,意味着请求之间没有任何形式的状态。如果你想保持某种状态,你将不得不使用某种持久性机制,如cookie,查询字符串(blah?page = 2),session或者甚至可能在数据库中。

答案 3 :(得分:2)

尝试this one

它使用jQuery并包含一个示例项目。

答案 4 :(得分:1)

您可以使用NuGet上提供的简单组件MVCWizard.Wizard。 WizardController允许您使用局部视图创建向导。 还有AutoWizardController,它在单个视图中呈现整个向导。 所有这些组件都与会话一起运行以存储模型状态。