Как назвать просмотр полной страницей (игнорируя тело рендера)?

1

У меня есть регулярное приложение _Layout.cshtml и @RenderBody() для рендеринга всех видов внутри, но только для представления "Вход" нужно отображать как полную страницу, а не внутри @RenderBody().

С уважением

  • 2
    Вам нужно просто указать другой макет? Тогда см. Stackoverflow.com/q/5161380/67392
  • 0
    Таким образом, он получил ошибку для @RenderBody (), мне не нужен @RenderBody () в другом макете, это будет только экран входа в систему, после входа пользователя он должен вернуться к другому макету.
Теги:
razor
asp.net-mvc

2 ответа

3
Лучший ответ

Вы должны установить для свойства Layout значение null в начале вашего представления.

Итак, ваш файл Login.cshtml должен начинаться с:

@model YourModel

@{
    Layout = null;
}
  • 0
    Perfect RePierre.
2

Возможно, вы не хотите иметь макет для своего вида. Вероятно, вам нужен собственный макет (например, _LayoutFullPage.cshtml

<!DOCTYPE html>
<head>
    <title>SOMETHING HERE ALONG WITH OTHER HEAD ATTRIBUTES</title>
</head>
<body>
    @RenderBody() 
</body>
</html>

а затем использовать этот макет в представлении с помощью

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

Другие варианты - установить представление как null в cshtml (как предложено RePierre) или вызвать return PartialView(model); в вашем контроллере.

  • 0
    Спасибо, это будет очень полезно, хорошего дня, AlexC.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню