我正在研究 MVC4 架构。我有一个默认布局,即 _Layout 以及与其关联的模型和视图。运行良好。
现在由于某些要求,在单击特定链接后,我需要它将其重定向到一个完全不同的布局,在那里我将根据我的需要关联模型和视图。但是如何添加新布局并保留现有的默认布局呢?
例如:在索引页面上我给出了一个链接
<!-- <a href="">Nikhil</a> -->
。当我单击此按钮时,我必须转到单独的布局和视图。
我该如何解决这个问题?我是 MVC4 的新手。
是的,如果需要,您可以为不同的视图创建多个布局。就我而言,我的共享文件夹中有 AdminLayout 和 UserLayout。只需替换布局变量即可。
例如。
// For Admin Pages
@{
Layout = "~/Views/Shared/AdminLayout.cshtml";
}
//For User Pages
@{
Layout = "~/Views/Shared/UserLayout.cshtml";
}
顺便说一下,我这里使用的是razor view引擎。
对于导航,您可以在索引页面上使用 HTML 帮助程序创建
ActionLink
,例如:
@Html.ActionLink("Link Text", "Controller","Action")
现在,当您单击此链接时,将访问控制器指定的操作,并且在该操作中您可以返回所需的视图,该视图具有不同的布局,例如:
public ActionResult Login()
{
return View("Desired View Name");
}