我想在ASP.NET MVC中创建一个向导,类似于ASP.NET webforms中的向导控制功能。
这样做的最佳方式是什么?
答案 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,它在单个视图中呈现整个向导。 所有这些组件都与会话一起运行以存储模型状态。