Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
<span asp-validation-for="Color" class="text-danger"></span></div>В шаблоне редактирования задействовано несколько вспомогательных функций дескрипторов (
asp-forasp-itemsasp-validation-forasp-validation-summaryШаблон редактирования
CarEditorFor()EditorForModel()Car.cshtmlКомпоновки
По аналогии с мастер-страницами Web Forms в MVC поддерживаются компоновки, которые совместно используются представлениями, чтобы обеспечить согласованный внешний вид страниц сайта. Перейдите в каталог
ViewsShared_Layout.cshtml<head><body>Файл
_Layout.cshtml_Layout.cshtml@RenderBody()Эта строка указывает странице компоновки, где визуализировать представление. Теперь перейдите к строке, расположенной прямо перед закрывающим дескриптором
</body>@await RenderSectionAsync("scripts", required: false)Разделы также могут помечаться как обязательные путем передачи для второго параметра (
requiredtrue@RenderSection("Header",true)Любой код и/или разметка в блоке @ section файла представления будет визуализироваться не там, где вызывается
@RenderBody()@section Scripts { <script src="~/lib/jquery-validation/dist/jquery.validate.js"></script>}Код из представления визуализируется в компоновке на месте определения раздела. Если компоновка содержит показанное ниже определение:
<script src="~/lib/jquery/dist/jquery.min.js"></script><script src="~/lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script><script src="~/js/site.js" asp-append-version="true"></script>@await RenderSectionAsync("Scripts", required: false)тогда будет добавлен раздел представления, приводя в результате к отправке браузеру следующей разметки:
<script src="~/lib/jquery/dist/jquery.min.js"></script><script src="~/lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script><script src="~/js/site.js" asp-append-version="true"></script><b><script src="~/lib/jquery-validation/dist/jquery.validate.js"></script></b>В ASP.NET Core появились два новых метода:
IgnoreBody()IgnoreSection()Указание стандартной компоновки для представлений
Как упоминалось ранее, стандартная страница компоновки определяется в файле
_ViewStart.cshtml_ViewStart.cshtmlЧастичные представления
Частичные представления концептуально похожи на пользовательские элементы управления в Web Forms. Частичные представления удобны для инкапсуляции пользовательского интерфейса, что помогает сократить объем повторяющегося кода и/или разметки. Частичное представление не задействует компоновку и внедряется внутрь другого представления или визуализируется с помощью компонента представления (рассматривается позже в главе).
Обновление компоновки с использованием частичных представлений
Временами файлы могут становиться большими и громоздкими. Один из способов справиться с такой проблемой предусматривает разбиение компоновки на набор специализированных частичных представлений.
Создание частичных представлений
Создайте внутри каталога Shared новый каталог подназванием
Partials_Head.cshtml_JavaScriptFiles.cshtml_Menu.cshtmlЧастичное представление Head
Вырежьте содержимое между дескрипторами
<head></head>_Head.cshtml<meta charset="utf-8" />