我现在有一个 MVC 应用程序,它的母版页使用_MainLayoutPage
。
我想为另一个目的创建另一个母版页。我也将创建一个新的控制器。
我该怎么做?
答案 0 :(得分:2)
最简单的方法是在Action方法中,为Layout设置Viewbag属性
public ActionResult Index()
{
ViewBag.Layout= "~/Views/Shared/layout2.cshtml";
在视图中,设置布局属性
@{
Layout = @ViewBag.Layout;
}
答案 1 :(得分:0)
在_ViewStart.cshtml中,输入:
@{
try {
Layout = "~/Views/" + ViewContext.RouteData.Values["controller"] + "/_Layout.cshtml";
}
catch {
Layout = "~/Views/Shared/_Layout.cshtml";
}
}
然后您可以将控制器特定_Layout.cshtml
放在控制器文件夹中,例如
~/Views/User/_Layout.cshtml
表示名为UserController
~/Views/Account/_Layout.cshtml
表示名为AccountController
由于try / catch,如果没有为特定控制器定义,它将回退到'〜/ Views / Shared / _Layout.cshtml'布局。