我试图摆脱必须在每个创建的剃刀视图中手动指定布局路径的风险。如何在不指定剃刀视图中的布局路径的情况下指定全局MVC布局
在Razor视图所以,你通常会指定视图/布局属性,如:
@{
ViewBag.Title = "About Us";
Layout = "~/Views/Shared/_ContentLayout.cshtml";
}
我有我的所有控制器都继承了基本的控制器,其中我很想能够指定这个级别的布局,或者在app_start等。
对于任何例外,我只是在视图本身覆盖它。
经过广泛的搜索,我还没有找到任何人能够做到这一点的证据。
我现在,下一个最好的解决方法是在ViewBag指定此,以保持它的动态,但我仍然需要把一个声明中的观点:
@{
Layout = ViewBag.Layout;
}
这可能吗?解决方案?
相信这个回答我的问题,是的,似乎我已经有一个文件,谢谢!但是,这可以应用在控制器的基础上,即。每个控制器都有一个默认模板? – MikeDub
您也可以在'_ViewStart'中执行此操作。您可以轻松完成条件声明并检查控制器。取决于控制器,您可以设置适合的“布局”。 – Nkosi