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

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 617 618 619 620 621 622 623 624 625 ... 642

</environment>

<environment exclude="Development">

  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"

<b>    asp-fallback-src=&quot;~/lib/jquery/dist/jquery.min.js&quot;</b>

<b>    asp-fallback-test=&quot;window.jQuery&quot;</b>

    crossorigin=&quot;anonymous&quot;

    integrity=&quot;sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=&quot;&gt;

  &lt;/script&gt;

  &lt;script src=&quot;https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/

bootstrap.bundle.min.js&quot;

<b>    asp-fallback-src=&quot;~/lib/bootstrap/dist/js/bootstrap.bundle.min.js&quot;</b>

<b>    asp-fallback-test=&quot;window.jQuery &amp;&amp; window.jQuery.fn &amp;&amp; window.jQuery.fn.modal&quot;</b>

    crossorigin=&quot;anonymous&quot;

    integrity=&quot;sha384-xrRywqdh3PHs8keKZN+8zzc5TX0GRTLCcmivcbNJWm2rs5C

8PRhcEn3czEjhAO9o&quot;&gt;

  &lt;/script&gt;

&lt;/environment&gt;

&lt;script src=&quot;~/js/site.js&quot; asp-append-version=&quot;true&quot;&gt;&lt;/script&gt;

Частичное представление _ValidationScriptsPartial.cshtml необходимо обновить с применением вспомогательных функций дескрипторов для среды и сценариев:

&lt;environment include=&quot;Development&quot;&gt;

   &lt;script src=&quot;~/lib/jquery-validation/dist/jquery.validate.js&quot;

     asp-append-version=&quot;true&quot;&gt;&lt;/script&gt;

   &lt;script src=&quot;~/lib/jquery-validation-unobtrusive/jquery.validate.

unobtrusive.js&quot;

     asp-append-version=&quot;true&quot;&gt;&lt;/script&gt;

   &lt;/environment&gt;

   &lt;environment exclude=&quot;Development&quot;&gt;

   &lt;script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/jquery-

validate/1.19.1/jquery.validate.min.js&quot;

    asp-fallback-src=&quot;~/lib/jquery-validation/dist/jquery.validate.min.js&quot;

    asp-fallback-test=&quot;window.jQuery &amp;&amp; window.jQuery.validator&quot;

    crossorigin=&quot;anonymous&quot;

    integrity=&quot;sha256-F6h55Qw6sweK+t7SiOJX+2bpSAa3b/fnlrVCJvmEj1A=&quot;&gt;

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

  &lt;/script&gt;

   &lt;script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/jquery-

validation-unobtrusive/3.2.11/jquery.validate.unobtrusive.min.js&quot;

    asp-fallback-src=&quot;~/lib/jquery-validation-unobtrusive/

jquery.validate.unobtrusive.min.js&quot;

     asp-fallback-test=&quot;window.jQuery &amp;&amp; window.jQuery.validator &amp;&amp;

window.jQuery.validator.

unobtrusive&quot;

    crossorigin=&quot;anonymous&quot;

    integrity=&quot;sha256-9GycpJnliUjJDVDqP0UEu/bsm9U+3dnQUH8+3W10vkY=&quot;&gt;

  &lt;/script&gt;

&lt;/environment&gt;

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

Вспомогательная функция дескриптора для изображения (&lt;img&gt;) предоставляет атрибут asp-append-version, который работает точно так же, как во вспомогательных функциях дескрипторов для ссылки и сценария.

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

Специальные вспомогательные функции дескрипторов могут помочь избавиться от повторяющегося кода. В проекте AutoLot.Mvc специальные вспомогательные функции дескрипторов заменят HTML-разметку, используемую для навигации между экранами CRUD для Car.

Подготовительные шаги

Специальные вспомогательные функции дескрипторов задействуют UrlHelperFactory и IActionContextAccessor для ссылок на основе маршрутизации. Кроме того, будет добавлен расширяющий метод для типа string, чтобы удалять суффикс Controller из имен контроллеров.

Обновление Startup.cs

Для создания экземпляра UrlFactory класса, производного не от класса Controller, в коллекцию служб потребуется добавить IActionContextAccessor. Начните с добавления в файл Startup.cs следующих пространств имен:

using Microsoft.AspNetCore.Mvc.Infrastructure;

using Microsoft.Extensions.DependencyInjection.Extensions;

Затем добавьте в метод ConfigureServices() такую строку:

services.TryAddSingleton&lt;IActionContextAccessor, ActionContextAccessor&gt;();

Создание расширяющего метода для типа string

При обращении к именам контроллеров в коде инфраструктуре ASP.NET Core довольно часто требуется низкоуровневое строковое значение, не содержащее суффикс Controller, что препятствует использованию метода nameof() без последующего вызова string.Replace(). Со временем задача становится утомительной, поэтому для ее решения будет создан расширяющий метод для типа string.

1 ... 617 618 619 620 621 622 623 624 625 ... 642
На этой странице вы можете бесплатно читать книгу Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю бесплатно.
Похожие на Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю книги

Оставить комментарий