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

...

<li class="nav-item">

  <a class="nav-link text-dark" asp-area="" asp-controller="Home"

      asp-action="Index">Home</a>

</li>

<li class="nav-item">

<b>   &lt;a class=&quot;nav-link text-dark&quot; asp-area=&quot;&quot; asp-controller=&quot;Home&quot;</b>

asp-action=&quot;RazorSyntax&quot;&gt;Razor Syntax&lt;/a&gt;

&lt;/li&gt;

&lt;li class=&quot;nav-item&quot;&gt;

   &lt;a class=&quot;nav-link text-dark&quot; asp-area=&quot;&quot; asp-controller=&quot;Home&quot; 

asp-action=&quot;Privacy&quot;&gt;Privacy&lt;/a&gt;

&lt;/li&gt;

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

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

&lt;input&gt;
) является одной из наиболее универсальных. В дополнение к автоматической генерации атрибутов
id
и
name
стандарта HTML, а также любых атрибутов
data-val
стандарта HTML5, вспомогательная функция дескриптора строит надлежащую HTML-разметку, основываясь на типе данных целевого свойства. В табл. 31.3 перечислены типы HTML, которые создаются на базе типов .NET Core свойств.

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

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

type
из HTML5, основываясь на аннотациях данных. В табл. 31.4 перечислены некоторые распространенные аннотации и генерируемые атрибуты
type
из HTML5.

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

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

Car.cshtml
содержит дескрипторы
&lt;input&gt;
для свойств
PetName
и
Color
. В качестве напоминания ниже приведены только эти дескрипторы:

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

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

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

name
и
id
, существующее значение для свойства (если оно есть) и атрибуты проверки достоверности HTML5. Оба поля являются обязательными и имеют ограничение на длину строки в 50 символов. Вот визуализированная разметка для указанных двух свойств:

&lt;input class=&quot;form-control&quot; type=&quot;text&quot; data-val=&quot;true&quot;

    data-val-length=&quot;The field Pet
Name must be a string with a

maximum length of 50.&quot; data-val-length-max=&quot;50&quot;

   data-val-
required=&quot;The Pet Name field is required.&quot;

   id=&quot;PetName&quot; maxlength=&quot;50&quot; name=&quot;PetName&quot;
value=&quot;Zippy&quot;&gt;

&lt;input class=&quot;form-control valid&quot; type=&quot;text&quot; data-val=&quot;true&quot;

   data-val-length=&quot;The field
Color must be a string with a

maximum length of 50.&quot; 
data-val-length-max=&quot;50&quot;

   data-val-
required=&quot;The Color field is required.&quot;

   id=&quot;Color&quot; maxlength=&quot;50&quot; name=&quot;Color&quot; value=&quot;Black&quot;

   aria-describedby=&quot;Color-error&quot; aria-invalid=&quot;false&quot;&gt;

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

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

&lt;textarea&gt;
) автоматически добавляет атрибуты
id
и
name
и любые атрибуты проверки достоверности HTML5, определенные для свойства. Например, следующая строка создает дескриптор
&lt;textarea&gt;
для свойства
Description
:

&lt;textarea asp-for=&quot;Description&quot;&gt;&lt;/textarea&gt;

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

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

&lt;select&gt;
) создает дескрипторы ввода с выбором из свойства модели и коллекции. Как и в других вспомогательных функциях дескрипторов для элементов ввода, к разметке автоматически добавляются атрибуты
id
и
name
, а также любые атрибуты
data-val
из HTML5. Если значение свойства модели совпадает с одним из значений в списке, тогда для этого варианта в разметку добавляется атрибут
selected
.

Например, пусть имеется модель со свойством по имени

Country
и список
SelectList
по имени
Countries
с таким определением:

public List&lt;SelectListItem&gt; Countries { get; } = new List&lt;SelectListItem&gt;

{

  new SelectListItem { Value = &quot;MX&quot;, Text = &quot;Mexico&quot; },

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