2009-04-21 107 views

回答

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> 

注意!请记住,在文档的顶部,要加载jquery,例如通过参考google链接:

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

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

2

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

2

尝试this one

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

+0

我喜欢那个项目很好的例子, 谢谢! – IamStalker 2011-06-25 18:12:57

1

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