Литмир - Электронная Библиотека
A
A

  new SelectListItem { Value = "CA", Text = "Canada" },

  new SelectListItem { Value = "US", Text = "USA"  },

};

Следующая разметка будет визуализировать дескриптор

<select>
с надлежащими дескрипторами
<option>
:

<select asp-for="Country" asp-items="Model.Countries"></select>

Если значением свойства

Country
является
CA
, тогда в представление будет выведена показанная ниже разметка:

<select id="Country" name="Country">

  <option value="MX">Mexico</option>

  <option selected="selected" value="CA">Canada</option>

  <option value="US">USA</option>

</select>

Вспомогательные функции дескрипторов для проверки достоверности

Вспомогательные функции дескрипторов для сообщения проверки достоверности и для сводки по проверке достоверности в точности отражают вспомогательные функции HTML с именами

Html.ValidationMessageFor()
и
Html.ValidationSummaryFor()
. Первая применяется к HTML-дескриптору
<span>
для отдельного свойства модели, а вторая — к HTML-дескриптору
<div>
для целой модели. Сводка по проверке достоверности поддерживает варианты
Аll
(все ошибки),
ModelOnly
(ошибки только модели, но не свойств модели) и
None
(никаких ошибок).

Вспомните вспомогательные функции дескрипторов для проверки достоверности из

EditorTemplate
в файле
Car.cshtml
(выделены полужирным):

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

&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;

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

&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;

<b>  &lt;span asp-validation-for=&quot;Color&quot; class=&quot;text-danger&quot;&gt;&lt;/span&gt;</b>

&lt;/div&gt;

Эти вспомогательные функции дескрипторов будут отображать ошибки модели, возникшие во время привязки и проверки достоверности, как показано на рис. 31.3.

Язык программирования C#9 и платформа .NET5 - _303.png

Вспомогательная функция дескриптора для среды

Вспомогательная функция дескриптора для среды (

&lt;environment&gt;
) обычно используется для условной загрузки файлов JavaScript и CSS (или подходящей разметки) на основе среды, в которой запущен сайт. Откройте частичное представление
_Head.cshtml
и модифицируйте разметку следующим образом:

&lt;meta charset=&quot;utf-8&quot; /&gt;

&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot; /&gt;

&lt;title&gt;@ViewData[&quot;Title&quot;] - AutoLot.Mvc&lt;/title&gt;

<b>&lt;environment include=&quot;Development&quot;&gt;</b>

  &lt;link rel=&quot;stylesheet&quot; href=&quot;~/lib/bootstrap/dist/css/bootstrap.css&quot; /&gt;

<b>&lt;/environment&gt;</b>

<b>&lt;environment exclude=&quot;Development&quot;&gt;</b>

  &lt;link rel=&quot;stylesheet&quot; href=&quot;~/lib/bootstrap/dist/css/bootstrap.min.css&quot; /&gt;

<b>&lt;/environment&gt;</b>

&lt;link rel=&quot;stylesheet&quot; href=&quot;~/css/site.css&quot; /&gt;

В первой вспомогательной функции дескриптора для среды применяется атрибут

include=&quot;Development&quot;
, чтобы включить содержащиеся файлы, когда среда установлена в
Development
. В таком случае загружается неминифицированная версия Bootstrap. Во второй вспомогательной функции дескриптора для среды используется атрибут
exclude=&quot;Development&quot;
, чтобы задействовать содержащиеся файлы, когда среда отличается от
Development
. В таком случае загружается минифицированная версия Bootstrap. Файл
site.css
остается тем же самым в среде
Development
и других средах, поэтому он загружается за пределами вспомогательной функции дескриптора для среды.

619
{"b":"847442","o":1}