2013-11-26 2 views
0

У меня есть панель меню на странице макета и поместите ее в раздел по макету.Скрыть раздел в asp.net mvc4

@section MenuSection{ 
<ul class="menubar"> 
<li>Test</li> 
<li>Test</li> 
<li>Test</li> 
</ul> 
} 

У меня есть несколько видов в приложении, связанных с страницей макета. По некоторым представлениям не потребуется эта панель меню. Так что я попытался раздел прятался этой точки зрения

Индекс Просмотр-

@{ 
@RenderSection("MenuSection",required:false) 
} 

Но этот раздел меню исчезнет из макета.

Каков правильный способ сделать это? Является ли раздел точным способом? Каким будет определение раздела на странице макета?

+1

передача информации на странице макета. контроллер/действие и т. д., затем поместите этот рендер в оператор if –

ответ

1
@if (SomeCondition){ 
    @RenderSection("MenuSection", required: false) 
} 

required просто означает, что дочерние страницы не имеют указать, что @section. Но если вы хотите, чтобы он отображался при определенных обстоятельствах, поместите его в оператор if.

1

Я просто смотрел, и мы получаем контроллер и действие, как этот

var action = (ViewContext.RouteData.Values["action"] ?? "").ToString().ToLower(); 
var controller = (ViewContext.RouteData.Values["controller"] ?? "").ToString().ToLower(); 

поставленной визуализации в, если на этой основе, как ответ Брэда

Смежные вопросы