我有一个目标来创建视图/控制器的嵌套架构。例如: 我们网页上的区域很少。所有这些区域都由自己的控制器管理。换句话说,我需要创建独立页面,然后将它们加入到一个页面中。 请参阅图片:
那么我可以阅读它吗?感谢。
答案 0 :(得分:2)
是的,您只需拨打
即可实现此目的@ Html.Action(“ActionName”,“ControllerName”);
示例:强>
在你的情况下,你可以这样做
<强>控制器1 强>
public ActionResult View1()
{
return View("View1");
}
<强>控制器2 强>
public ActionResult View2()
{
return View("View2");
}
<强> Controller3 强>
public ActionResult View3()
{
return View("View3");
}
在主页面中调用:
@Html.Action("View1", "Controller1");
@Html.Action("View2", "Controller2");
@Html.Action("View2", "Controller2");
在主页的不同部分调用它们,无论你想要什么。
答案 1 :(得分:1)
您可以使用@Html.Action()
来呈现来自不同控制器的子视图
public class FirstController : Controller
{
public ActionResult Index()
{
return View();
}
}
public class SecondController : Controller
{
[ChildActionOnly]
public ActionResult Method1()
{
return PartialView();
}
}
public class ThirdController : Controller
{
[ChildActionOnly]
public ActionResult Method2(int ID)
{
return PartialView();
}
}
索引视图(FirstController)
....
@Html.Action("Method1", "Second")
@Html.Action("Method2", "Third", new { ID = someValue })
你也可以使用@{ Html.RenderAction();
更有效率的是你生成了很多html。