2016-06-18 10 views
1

У меня есть приложение ASP MVC 5, у которого есть контроллер с именем Member, в котором все действия и представления, связанные с членами. Все представления, созданные с помощью этого контроллера, должны быть завернуты в один кусок html, который работает как меню. Например желанный вид может выглядеть следующим образом:Как обернуть все представления контроллера с помощью многоразового шаблона?

<div class="member-menu"> 
    <!-- View code goes here --> 
    <p>Welcome</p> 
</div> 

В то время как другой вид может выглядеть следующим образом:

<div class="member-menu"> 
    <!-- View code goes here --> 
    <p>Some other stuff here</p> 
</div> 

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

ответ

1

Для этой конкретной задачи, это выглядит, как вам нужно раскладку

MenuWrapperTemplate.cshtml

<div class="member-menu"> 
    @RenderBody(); 
</div> 

Добро пожаловать вид

@{ 
    Layout = "~/Views/Shared/MenuWrapperTemplate.cshtml"; 
} 
<!-- View code goes here --> 
<p>Welcome</p> 

Если это действительно меню, вы хотите их в расположение объекта/мастер, а затем посмотреть здесь MVC where to render menu view

Вы, вероятно, должны справиться с MVC и помощниками Html (Render/RenderAction/partial) и как работают макеты.

Надежда, что помогает

+0

Это работало большой, как только я добавил оригинальный макет для новой компоновки (т.е. в верхней части макета меню я должен был указать 'Layout =«_layout»'). Имеет ли это смысл? Благодаря! –

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

  • Нет связанных вопросов^_^