我希望您不必在每个 Razor 视图中手动指定布局路径。
因此,在 Razor 视图中,您通常会指定视图/布局属性,例如:
@{
ViewBag.Title = "About Us";
Layout = "~/Views/Shared/_ContentLayout.cshtml";
}
我有一个基础控制器,所有我的控制器都继承自它,在这里我希望能够在这个层次上指定布局,或者在app_start等地方指定。
对于任何异常情况,我只需要在视图本身中覆盖它。
经过广泛搜索,我没有找到任何人能够做到这一点的证据。
目前我的最佳解决方法是将其指定为ViewBag中的内容,以保持其动态性,但我仍然需要在视图中声明:
@{
Layout = ViewBag.Layout;
}
这可能吗?有解决方案吗?
_ViewStart
中实现这个功能。你可以轻松地使用条件语句来检查控制器,根据控制器设置相应的Layout
。 - Nkosi