Подтвердить что ты не робот

Могу ли я иметь/цепочку более 1 _Layout страниц в MVC 3? для страницы cshtml?

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

4b9b3361

Ответ 1

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

@{ Layout = "pathToMyOtherLayout"; }

Вы также можете использовать разделы для перехода к родительским макетам. Например:

@Section Headers {@RenderSection("Headers")}

Ответ 2

Вы можете связывать страницы так же, как мастер-страницы, в _ViewStart.cshtml вы увидите, как определяется страница макета:

@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}

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

У ScottGu есть сообщение с дополнительной информацией о Разметки бритвы

Я использую этот точный метод для того, о чем вы говорите, на некоторых сайтах электронной торговли, где вы находитесь в процессе проверки, я не хочу отвлекаться (навигация и т.д.) в представлении, поэтому вместо наличия специального случая if checkout в макете, я делаю LayoutBrandingOnly и Layout, которые "наследуют" от него, поэтому мне не нужно повторять весь брендинг html.