У меня есть верхний уровень _Layout.cshtml, который выглядит примерно так:
<html>
<head>
@RenderSection("Header", required: false)
</head>
<body>
@RenderSection("LeftPane", required: false)
@RenderSection("RightPane", required: false)
@RenderBody()
</body>
</html>
Тогда у меня есть два "подмакеты". Один определяет только раздел LeftPane, другой определяет как LeftPane, так и RightPane. Эти подмакеты называются _LeftPane.cshtml и _LeftPlusRightPane.cshtml, и у них есть макет, установленный на "_Layout.cshtml".
Затем в каждом файле View.cshtml я устанавливаю Layout как _LeftPane.cshtml или _LeftPlusRightPane.cshtml, в зависимости от того, что я хочу показать на странице.
Все работает отлично. Проблема заключается в новом разделе "Заголовок", который я добавил в части <head>
документа. Этот раздел не определен в подмакетах, а скорее в фактических представлениях. Когда я пытаюсь что-то посмотреть, я получаю сообщение об ошибке:
Следующие разделы были определены, но не были отображены для страницы макета "~/Views/Shared/_LeftPlusRightPane.cshtml": "Заголовок".
Я не хочу отображать раздел заголовка в подслоях, я хочу отобразить его в файле _Layout.cshtml. Как "пройти" определенный раздел заголовка из представления низкого уровня через вспомогательные макеты вверху _Layout?