使用部分视图

时间:2011-03-31 10:05:25

标签: asp.net-mvc-3 view partial

我正在使用MVC 3剃须刀进行Web应用程序。我的要求是创建一个类似于感觉的向导,为此我将为每个步骤使用独立视图。我想使用具有Previous,Cancel和Next按钮的局部视图,以便在每个步骤中我可以使用此局部视图。请建议我如何使用方法以及如何确定将在“上一个”和“下一个”按钮上调用的操作。

非常感谢

此致 VIV

1 个答案:

答案 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,但我现在还记不起正确的语法:)

但仍然..如果您对每个步骤都有特定的视图,那么您可以在视图中对这些链接进行硬编码。