我在布局页面上有一个菜单栏,并将其放在布局的一个部分。
@section MenuSection{
<ul class="menubar">
<li>Test</li>
<li>Test</li>
<li>Test</li>
</ul>
}
我在与布局页面关联的应用程序中有多个视图。在某些视图上不需要此菜单栏。所以我尝试隐藏该视图的部分
索引视图 -
@{
@RenderSection("MenuSection",required:false)
}
但是这个菜单部分从布局中消失了。
这样做的正确方法是什么?部分是精确的方式吗?布局页面中的部分定义是什么?
答案 0 :(得分:1)
@if (SomeCondition){
@RenderSection("MenuSection", required: false)
}
required
只是意味着子页面 没有指定@section
。但是,如果您希望在特定情况下显示它,请将其放在if
声明中。
答案 1 :(得分:1)
我只是看了,我们得到了像这样的控制器和动作
var action = (ViewContext.RouteData.Values["action"] ?? "").ToString().ToLower();
var controller = (ViewContext.RouteData.Values["controller"] ?? "").ToString().ToLower();
将渲染放在一个if基于此的布拉德的答案