Категории
Самые читаемые
ChitatKnigi.com » 🟢Компьютеры и Интернет » Базы данных » Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Читать онлайн Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
1 ... 609 610 611 612 613 614 615 616 617 ... 642
Перейти на страницу:

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать

    @Html.DisplayFor(model => model.PetName)

  </dd>

</dl>

Вспомогательная функция HTML под названием DisplayNameFor() отображает имя свойства, если только свойство не декорировано или атрибутом Display(Name=""), или атрибутом DisplayName(""), и тогда применяется отображаемое значение. Метод DisplayFor() отображает значение для свойства модели, указанное в выражении. Обратите внимание, что для получения названия производителя используется навигационное свойство MakeNavigation.

Запустив приложение и перейдя на страницу RazorSyntax, вы можете быть удивлены тем, что шаблон отображения Car не применяется. Причина в том, что шаблон находится в каталоге представления Cars, а метод действия RazorSyntax и представление вызываются из HomeController. Методы действий в HomeController будут осуществлять поиск представлений в каталогах Home и Shared и потому не найдут шаблон отображения Car.

Если вы переместите файл Car.cshtml в каталог SharedDisplayTemplates, тогда представление RazorSyntax будет использовать шаблон отображения Car.

Шаблон отображения CarWithColor

Шаблон CarWithColor похож на шаблон Car. Разница в том, что этот шаблон изменяет цвет текста Color (Цвет) на основе значения свойства Color модели. Добавьте в каталог CarsDisplayTemplates новый шаблон по имени CarWithColors.cshtml и приведите разметку к следующему виду:

@model Car

<hr />

<div>

  <dl class="row">

    <dt class="col-sm-2">

      @Html.DisplayNameFor(model => model.PetName)

    </dt>

    <dd class="col-sm-10">

      @Html.DisplayFor(model => model.PetName)

    </dd>

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

    <dt class="col-sm-2">

      @Html.DisplayNameFor(model => model.MakeNavigation)

    </dt>

    <dd class="col-sm-10">

      @Html.DisplayFor(model => model.MakeNavigation.Name)

    </dd>

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

    <dt class="col-sm-2">

      @Html.DisplayNameFor(model => model.Color)

    </dt>

    <dd class="col-sm-10" style="color:@Model.Color">

      @Html.DisplayFor(model => model.Color)

    </dd>

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

  </dl>

</div>

Чтобы применить шаблон CarWithColors.cshtml вместо Car.cshtml, вызовите DisplayForModel() с именем шаблона (обратите внимание, что правила местоположения по-прежнему актуальны):

@Html.DisplayForModel(<b>&quot;CarWithColors&quot;</b>)

Каталог EditorTemplates

Каталог EditorTemplates работает аналогично каталогу DisplayTemplates, но находящиеся в нем шаблоны используются для редактирования.

Шаблон редактирования Car

Создайте внутри каталога ViewsCars новый каталог под названием EditorTemplates и добавьте в него новое представление по имени Car.cshtml. Удалите сгенерированный код вместе с комментариями и замените его показанным ниже кодом, который является разметкой для редактирования сущности Car:

@model Car

&lt;div asp-validation-summary=&quot;All&quot; class=&quot;text-danger&quot;&gt;&lt;/div&gt;

&lt;div class=&quot;form-group&quot;&gt;

    &lt;label asp-for=&quot;PetName&quot; class=&quot;col-form-label&quot;&gt;&lt;/label&gt;

  &lt;input asp-for=&quot;PetName&quot; class=&quot;form-control&quot; /&gt;

    &lt;span asp-validation-for=&quot;PetName&quot; class=&quot;text-danger&quot;&gt;&lt;/span&gt;

&lt;/div&gt;

&lt;div class=&quot;form-group&quot;&gt;

    &lt;label asp-for=&quot;MakeId&quot; class=&quot;col-form-label&quot;&gt;&lt;/label&gt;

    &lt;select asp-for=&quot;MakeId&quot; class=&quot;form-control&quot; asp-items=&quot;ViewBag.MakeId&quot;&gt;

    &lt;/select&gt;

&lt;/div&gt;

&lt;div class=&quot;form-group&quot;&gt;

    &lt;label asp-for=&quot;Color&quot; class=&quot;col-form-label&quot;&gt;&lt;/label&gt;

    &lt;input asp-for=&quot;Color&quot; class=&quot;form-control&quot;/&gt;

1 ... 609 610 611 612 613 614 615 616 617 ... 642
Перейти на страницу:
Отывы о книге
Открыть боковую панель
Комментарии
Jonna
Jonna 02.01.2025 - 01:03
Страстно🔥 очень страстно
Ксения
Ксения 20.12.2024 - 00:16
Через чур правильный герой. Поэтому и остался один
Настя
Настя 08.12.2024 - 03:18
Прочла с удовольствием. Необычный сюжет с замечательной концовкой
Марина
Марина 08.12.2024 - 02:13
Не могу понять, где продолжение... Очень интересная история, хочется прочесть далее
Мприна
Мприна 08.12.2024 - 01:05
Эх, а где же продолжение?