我想为特定的管理面板视图排除_layout。我知道的唯一方法是使用JS来隐藏那些div。还有别的办法吗?
在不想使用布局的剃刀页面中,可以执行以下操作:
@{
Layout = null;
}
如果您想暂时从视图中排除Layout,您可以使用以下代码从控制器操作返回视图
if(...) return PartialView("name",model);
return View("name",model)
当您返回部分视图时,它将只显示一个视图,而不显示布局
如果你习惯于永久排除某些视图的布局,你可以在视图中使用此代码
@{
Layout = null;
}
但不要忘记,Layout通常包含大多数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;
}
}