ASP.NET Core как запретить для страницы подтягивать шапку и футер с _Layout.chtml
Делаю приложение ASP.NET Core по типу MVC, шаблон шапки и футера для всех страниц находится в файле _Layout.chtml. Но нужно на странице с авторизацией убрать шаблонную шапку и футер.
@model App.Models.LoginModel
<div class="container">
<div class="row">
<div class="col-sm">
</div>
<div class="col-sm">
<div class="row">
<div class="col">
</div>
<div class="col-6">
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal">Войти в систему</button>
</div>
<div class="col">
</div>
</div>
<div class="alert alert-danger row m-3" role="alert" asp-validation-summary="ModelOnly"></div>
</div>
<div class="col-sm">
</div>
</div>
</div>
Аналогов include на самой страницы нет, только подключается модель
Ответы (1 шт):
Попробуйте добавить вот это:
@{
Layout = null;
}
в начале страницы, на которой не хотите видеть шапку и футер.
Layout позволяет нам указывать мастер-страницы. Мастер страницы это представления, которые позволяют описать элементы, отображающиеся на всех страницах сайта. В проекте может быть несколько мастер страниц, тогда в представлениях мы должны указать путь к мастер-странице:
@{
Layout = "~/Views/Shared/MyLayout.cshtml";
}
Если мы не используем мастер-страницу, то мы указываем Layout = null;.
Так же у нас есть страница _ViewStart.cshtml. Код этой страницы выполняется до кода любого из представлений, расположенных в том же каталоге. Данный файл последовательно применяется к каждому представлению, находящемуся в одном каталоге.
Обычно в нём как раз и расположено подключение мастер-страницы:
@{
Layout = "_Layout";
}
поэтому этого подключения нету внутри ваших представлений.