шаблоне редактирования задействовано несколько вспомогательных функций дескрипторов (
asp-for
,
asp-items
,
asp-validation-for
и
asp-validation-summary
), которые рассматриваются позже в главе.
Шаблон редактирования
Car
вызывается с помощью вспомогательных функций HTML, которые называются
EditorFor
и
EditorForModel
. Подобно шаблонам отображения упомянутые функции будут искать представление с именем
Car.cshtml
или с таким же именем, как у метода.
Компоновки
По аналогии с мастер-страницами Web Forms в MVC поддерживаются компоновки, которые совместно используются представлениями, чтобы обеспечить согласованный внешний вид страниц сайта. Перейдите в каталог
Views\Shared
и откройте файл
_Layout.cshtml
. Это полноценный HTML-файл с дескрипторами
<head>
и
<body>
.
Файл
_Layout.cshtml
является основой, в которую визуализируются другие представления. Кроме того, поскольку большая часть страницы (такая как разметка для навигации и верхнего и/или нижнего колонтитула) поддерживается страницей компоновки, страницы представлений сохраняются небольшими и простыми. Найдите в файле
_Layout.cshtml
следующую строку кода Razor:
@RenderBody
Эта строка указывает странице компоновки, где визуализировать представление. Теперь перейдите к строке, расположенной прямо перед закрывающим дескриптором
</body>
, которая создает новый раздел для компоновки и объявляет его необязательным:
. В случае помещения внутрь компоновки эти методы отменяют визуализацию тела представления или указанного раздела соответственно. Они позволяют включать или отключать функции представления в компоновке на основе условной логики, такой как уровни безопасности.
Указание стандартной компоновки для представлений
Как упоминалось ранее, стандартная страница компоновки определяется в файле
_ViewStart.cshtml
. Любое представление, где не указана компоновка, будет использовать компоновку, определенную в первом файле
_ViewStart.cshtml
, который обнаруживается в каталоге представления или выше него в структуре каталогов.
Частичные представления
Частичные представления концептуально похожи на пользовательские элементы управления в Web Forms. Частичные представления удобны для инкапсуляции пользовательского интерфейса, что помогает сократить объем повторяющегося кода и/или разметки. Частичное представление не задействует компоновку и внедряется внутрь другого представления или визуализируется с помощью компонента представления (рассматривается позже в главе).
Обновление компоновки с использованием частичных представлений
Временами файлы могут становиться большими и громоздкими. Один из способов справиться с такой проблемой предусматривает разбиение компоновки на набор специализированных частичных представлений.
Создание частичных представлений
Создайте внутри каталога Shared новый каталог подназванием
Partials
и добавьте в него три пустых представления с именами