У меня есть базовый макет со структурой сайта. В этом макете по умолчанию я определяю тег заголовка, структуру тела и нижний колонтитул:
<html>
<head>...</head>
<body>
<div id="sidebar">...</div>
<div id="entry">@RenderSection("Entry", true)</div>
<div id="footer">...</div>
</body>
Каждое действие в каждом контроллере определяет в своем представлении собственный раздел ввода.
<!-- in View/Index.cshtml -->
@section Entry {
Hello from Index action.
}
<!-- in View/Uploads.cshtml -->
@section Entry {
Hello from Uploads action.
}
<!-- in View/Users.cshtml -->
@section Entry {
Hello from Users action.
}
Но я также хочу определить разные боковые панели для каждого контроллера. Если я добавлю @RenderSection («SideBar», true) в основной макет, я должен повторить код боковой панели для каждого действия контроллера. Я также не могу определить код дизайна боковой панели в основном макете, потому что хочу использовать разные sibebars для каждого контроллера (но я хочу использовать одну и ту же боковую панель для каждого действия в контроллере).
Как решить эту проблему, не повторяя код дизайна боковой панели в каждом представлении?
Я нашел решение https://stackoverflow.com/a/5573970, но для каждого контроллера потребуется дублирование базовой структуры сайта.
Спасибо за ответы и извините за мой плохой английский: (.