我正在使用MVC 3剃须刀进行Web应用程序。我的要求是创建一个类似于感觉的向导,为此我将为每个步骤使用独立视图。我想使用具有Previous,Cancel和Next按钮的局部视图,以便在每个步骤中我可以使用此局部视图。请建议我如何使用方法以及如何确定将在“上一个”和“下一个”按钮上调用的操作。
非常感谢
此致 VIV
答案 0 :(得分:0)
我可能会在Controller中做出类似“Step”操作的内容。此Action将接受id参数(int)。然后我可能会使用类似的东西:(伪代码)
// Checking what Id you got from url
// Setting int id = ...
//
// And then
switch(id)
{
case 1: return View(view1);
case 2: return View(view2);
case 3: return View(view3);
}
网址将如下所示:
/Controller/Step/Id
您可以通过选择网址的最后一部分来指出具体步骤。像:
<a href="http://localhost/myApp/Controller/Step/3">Step 3</a>
评论后修改:
如果需要动态行为,可以在控制器中使用ViewBag属性。
switch(id)
{
case 1:
{
ViewBag.PrevStep = 0;
ViewBag.NextStep = 2;
return View(view1);
}
case 2:
{
ViewBag.PrevStep = 1;
ViewBag.NextStep = 3;
return View(view2);
}
// etc...
}
然后在您看来,您将创建如下链接:
<a href="http://localhost/myApp/Controller/Step/@ViewBag.PrevStep">Previous step</a>
<a href="http://localhost/myApp/Controller/Step/@ViewBag.NextStep">Next step</a>
你当然可以@ Html.ActionLink,但我现在还记不起正确的语法:)
但仍然..如果您对每个步骤都有特定的视图,那么您可以在视图中对这些链接进行硬编码。