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

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

Книгу Язык программирования C#9 и платформа .NET5 - Эндрю Троелсен читаем онлайн бесплатно полную версию! Чтобы начать читать не надо регистрации. Напомним, что читать онлайн вы можете не только на компьютере, но и на андроид (Android), iPhone и iPad. Приятного чтения!

177 0 18:04, 26-08-2023
Язык программирования C#9 и платформа .NET5 - Эндрю Троелсен
26 август 2023

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

В 10-м издании книги описаны новейшие возможности языка C# 9 и .NET 5 вместе с подробным "закулисным" обсуждением, призванным расширить навыки критического мышления разработчиков, когда речь идет об их ремесле. Книга охватывает ASP.NET Core, Entity Framework Core и многое другое наряду с последними обновлениями унифицированной платформы .NET, начиная с улучшений показателей производительности настольных приложений Windows в .NET 5 и обновления инструментария XAML и заканчивая расширенным рассмотрением файлов данных и способов обработки данных. Все примеры кода были переписаны с учетом возможностей последнего выпуска C# 9.

    1 ... 391 392 393 394 395 396 397 398 399 ... 407
    Перейти на страницу:
    представление Create будет неоднократно обновляться.

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

    Вспомогательная функция дескриптора для действия формы используется в элементах кнопок и изображений с целью изменения действия содержащей их формы. Например, следующая кнопка, добавленная к форме редактирования, вызовет передачу запроса POST конечной точке Create:

    <button type="submit" asp-action="Create">Index</button>

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

    Вспомогательная функция дескриптора для якоря (<а>) заменяет вспомогательную функцию HTML с именем Html.ActionLink(). Скажем, чтобы создать ссылку на представление RazorSyntax, применяйте такой код:

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

        asp-action="RazorSyntax">

      Razor Syntax

    </a>

    Для добавления страницы синтаксиса Razor в меню модифицируйте _Menu.cshtml, как показано ниже, добавив новый элемент меню между элементами Home (Домой) и Privacy (Секретность) (дескрипторы <li>, окружающие дескрипторы якорей, предназначены для меню Bootstrap):

    ...

    <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">

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

    asp-action="RazorSyntax">Razor Syntax</a>

    </li>

    <li class="nav-item">

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

    asp-action="Privacy">Privacy</a>

    </li>

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

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

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

    Шаблон редактирования Car.cshtml содержит дескрипторы <input> для свойств PetName и Color. В качестве напоминания ниже приведены только эти дескрипторы:

    <input asp-for="PetName" class="form-control" />

    <input asp-for="Color" class="form-control"/>

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

    <input class="form-control" type="text" data-val="true"

        data-val-length="The field Pet Name must be a string with a

    maximum length of 50." data-val-length-max="50"

       data-val-required="The Pet Name field is required."

       id="PetName" maxlength="50" name="PetName" value="Zippy">

    <input class="form-control valid" type="text" data-val="true"

       data-val-length="The field Color must be a string with a

    maximum length of 50." data-val-length-max="50"

       data-val-required="The Color field is required."

       id="Color" maxlength="50" name="Color" value="Black"

       aria-describedby="Color-error" aria-invalid="false">

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

    Вспомогательная функция дескриптора для текстовой области (<textarea>) автоматически добавляет атрибуты id и name и любые атрибуты проверки достоверности HTML5, определенные для свойства. Например, следующая строка создает дескриптор <textarea> для свойства Description:

    <textarea asp-for="Description"></textarea>

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

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

    Например, пусть имеется модель со свойством по имени Country и список SelectList по имени Countries с таким определением:

    public List<SelectListItem> Countries { get; } = new List<SelectListItem>

    {

      new SelectListItem { Value = "MX", Text = "Mexico" },

      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 (выделены полужирным):

    <div asp-validation-summary="All" class="text-danger"></div>

    <div class="form-group">

      <label asp-for="PetName" class="col-form-label"></label>

      <input asp-for="PetName" class="form-control" />

      <span asp-validation-for="PetName" class="text-danger"></span>

    </div>

    <div class="form-group">

      <label asp-for="MakeId" class="col-form-label"></label>

      <select asp-for="MakeId" class="form-control" asp-items="ViewBag.MakeId"></select>

    </div>

    <div class="form-group">

      <label asp-for="Color" class="col-form-label"></label>

      <input asp-for="Color" class="form-control"/>

      <span asp-validation-for="Color" class="text-danger"></span>

    </div>

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

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

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

    <meta charset="utf-8" />

    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <title>@ViewData["Title"] - AutoLot.Mvc</title>

    <environment include="Development">

      <link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />

    </environment>

    <environment exclude="Development">

      <link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.min.css" />

    </environment>

    <link rel="stylesheet" href="~/css/site.css" />

    1 ... 391 392 393 394 395 396 397 398 399 ... 407
    Перейти на страницу:
    1. Жалоба
    Отзывы - 0

    Прочитали книгу? Предлагаем вам поделится своим отзывом от прочитанного(прослушанного)! Ваш отзыв будет полезен читателям, которые еще только собираются познакомиться с произведением.


    Уважаемые читатели, слушатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

    • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
    • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
    • 3. Просьба отказаться от нецензурной лексики.
    • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

    Надеемся на Ваше понимание и благоразумие. С уважением, администратор LoveRead.info.


    Установить VPN и читай слушай бесплатно

    Новые отзывы

    1. Лариса Лариса04 июнь 12:43 Да, просто до слез похоже на сериал ,,Даррел,,... Смерть в райском уголке - Эмили Салливан
    2. Stmara Stmara02 июнь 22:44 Приятная история, чтобы скоротать вечер. Любимая книга из последних "Любовь со смертью", также очень понравилась -"Суженная... Сердце космического дракона - Ольга Вадимовна Гусейнова
    3. Alex Alex01 июнь 17:12 💩💩💩🖕🖕🖕🖕🖕🖕🖕... Игровой момент II - Александр Андреевич Бодров
    Все комметарии
    Новинки бесплатной онлайн библиотеки