@Html.DisplayNameFor(model => model.Color)
@Html.DisplayFor(model => model.Color)
Чтобы применить шаблон CarWithColors.cshtml
вместо Car.cshtml
, вызовите DisplayForModel()
с именем шаблона (обратите внимание, что правила местоположения по-прежнему актуальны):
@Html.DisplayForModel("CarWithColors")
Каталог EditorTemplates
работает аналогично каталогу DisplayTemplates
, но находящиеся в нем шаблоны используются для редактирования.
Создайте внутри каталога Views\Cars
новый каталог под названием EditorTemplates
и добавьте в него новое представление по имени Car.cshtml
. Удалите сгенерированный код вместе с комментариями и замените его показанным ниже кодом, который является разметкой для редактирования сущности Car
:
@model Car
В шаблоне редактирования задействовано несколько вспомогательных функций дескрипторов (asp-for
, asp-items
, asp-validation-for
и asp-validation-summary
), которые рассматриваются позже в главе.
Шаблон редактирования Car
вызывается с помощью вспомогательных функций HTML, которые называются EditorFor()
и EditorForModel()
. Подобно шаблонам отображения упомянутые функции будут искать представление с именем Car.cshtml
или с таким же именем, как у метода.
По аналогии с мастер-страницами Web Forms в MVC поддерживаются компоновки, которые совместно используются представлениями, чтобы обеспечить согласованный внешний вид страниц сайта. Перейдите в каталог Views\Shared
и откройте файл _Layout.cshtml
. Это полноценный HTML-файл с дескрипторами и
.
Файл _Layout.cshtml
является основой, в которую визуализируются другие представления. Кроме того, поскольку большая часть страницы (такая как разметка для навигации и верхнего и/или нижнего колонтитула) поддерживается страницей компоновки, страницы представлений сохраняются небольшими и простыми. Найдите в файле _Layout.cshtml
следующую строку кода Razor:
@RenderBody()
Эта строка указывает странице компоновки, где визуализировать представление. Теперь перейдите к строке, расположенной прямо перед закрывающим дескриптором