【发布时间】:2022-01-21 07:42:36
【问题描述】:
我想排除特定管理仪表板视图的 _layout。我知道的唯一方法是使用 JS 隐藏这些 div。有没有其他办法?
【问题讨论】:
标签: asp.net .net asp.net-mvc
我想排除特定管理仪表板视图的 _layout。我知道的唯一方法是使用 JS 隐藏这些 div。有没有其他办法?
【问题讨论】:
标签: asp.net .net asp.net-mvc
在你不想使用布局的剃须刀页面中,你可以这样做:
@{
Layout = null;
}
【讨论】:
如果您想暂时从视图中排除布局,您可以使用此代码从控制器操作中返回视图
if(...) return PartialView("name",model);
return View("name",model)
当你返回一个局部视图时,它只会显示一个视图,而不是一个布局
如果您不想为某些视图永久排除布局,您可以在视图内使用此代码
@{
Layout = null;
}
但不要忘记布局通常包含大部分 Javascript 和 css 库。所以最好为某些视图创建一个特殊的布局。 或者你可以使用 ViewStart 页面
@{
string CurrentName = Convert.ToString(HttpContext.Current.Request.RequestContext.RouteData.Values["Controller"]);
dynamic Layout;
switch (CurrentName)
{
case "User":
Layout = "~/Views/Shared/_Layout.cshtml";
break;
default:
//Admin layout
Layout = "~/Views/Shared/_AdminLayoutPage.cshtml";
break;
}
}
【讨论】: