2016-12-15 1 views
0

У меня есть главная страница макета с левой кнопкой меню, отображающей ссылки на другие страницы. Я пытаюсь включить частичное под этой панелью слева ТОЛЬКО, когда пользователь находится на определенной странице в этом макете.Показать a Частично только в том случае, если пользователь находится на определенной странице

Here is another question that is asking for pretty much the same thing.

Проблема с этим вопросом является ответы за пять лет, и устаревшие <% %> синтаксис не работает на моем сайте.

Есть ли способ сделать то же самое, все еще используя обычный синтаксис @Html.Partial?

+0

Связанный вопрос для ruby-on-rails, а не asp.net-mvc :). Используйте «Разделы» - [Макеты и разделы с бритвой] (https://weblogs.asp.net/scottgu/asp-net-mvc-3-layouts-and-sections-with-razor) –

ответ

1

В вашей макет страницы, где вы хотите включить боковую панель:

<div id="header"> 
</div> 

@RenderSection("Sidebar", false) 

<div id="content"> 
    @RenderBody() 
</div> 

<div id="footer"> 
</div> 

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

теперь отобразить раздел, просто добавьте его в нижней части страницы, которая должна будет отображаться на дисплее, другие страницы в пределах того же макета не будет отображаться этот раздел:

<h2>This is a page</h2> 

@section Sidebar { 
    <div id="sidebar"> 
     your sidebar.... 
    </div> 
} 

Ваш полный HTML будет отображаться что-то вроде это с боковой панели:

<div id="header"> 
</div> 

<div id="sidebar"> 
    your sidebar.... 
</div> 

<div id="content"> 
    <h2>This is a page</h2> 
</div> 

<div id="footer"> 
</div> 

и другие страницы будут просто:

<div id="header"> 
</div> 

<div id="content"> 
    <h2>This is another page</h2> 
</div> 

<div id="footer"> 
</div> 
+0

Это именно то, что Мне было нужно. Спасибо! –

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