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 ... 394 395 396 397 398 399 400 401 402 ... 407
    Перейти на страницу:
    class="code">ItemListTagHelper.cs. Сделайте класс ItemListTagHelper открытым и унаследованным от класса ItemLinkTagHelperBase. Добавьте в новый файл показанный ниже код:

    using AutoLot.Mvc.Controllers;

    using AutoLot.Mvc.TagHelpers.Base;

    using Microsoft.AspNetCore.Mvc.Infrastructure;

    using Microsoft.AspNetCore.Mvc.Routing;

    using Microsoft.AspNetCore.Razor.TagHelpers;

    namespace AutoLot.Mvc.TagHelpers

    {

      public class ItemListTagHelper : ItemLinkTagHelperBase

      {

      }

    }

    Добавьте открытый конструктор, который принимает обязательные экземпляры и передает их конструктору базового класса:

    public ItemListTagHelper(

        IActionContextAccessor contextAccessor,

        IUrlHelperFactory urlHelperFactory)

          : base(contextAccessor, urlHelperFactory) {}

    Переопределите метод Process(), чтобы вызывать метод BuildContent() базового класса:

    public override void Process(TagHelperContext context, TagHelperOutput output)

    {

      BuildContent(output,nameof(CarsController.Index),

                  "text-default","Back to List","list");

    }

    Код создает ссылку Back to List (Список) с изображением значка списка из Font Awesome. Чтобы не возникали ошибки при компиляции, добавьте в CarsController базовый метод Index():

    public IActionResult Index()

    {

      return View();

    }

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

    Чтобы сделать специальные вспомогательные функции дескрипторов видимыми, потребуется выполнить команду @addTagHelper для представлений, которые используют эти вспомогательные функции дескрипторов, или поместить ее в файл _ViewImports.cshtml. Откройте файл _ViewImports.cshtml в каталоге Views и добавьте в него следующую строку:

    @addTagHelper *, AutoLot.Mvc

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

    Вспомогательные функции HTML из ASP.NET MVC по-прежнему поддерживаются, а некоторые из них применяются довольно широко и перечислены в табл. 31.5.

    Вспомогательная функция DisplayFor()

    Вспомогательная функция DisplayFor() отображает объект, определяемый выражением. Если для отображаемого типа существует шаблон отображения, тогда он будет применяться при создании HTML-разметки, представляющей элемент. Например, если моделью представления является сущность Car, то информацию о производителе автомобиля можно отобразить следующим образом:

    @Html.DisplayFor(x=>x.MakeNavigation);

    Если в каталоге DisplayTemplates присутствует представление по имени Make.cshtml, тогда оно будет использоваться для визуализации значений (вспомните, что поиск имени шаблона базируется на типе объекта, а не на имени его свойства). Если представление по имени ShowMake.cshtml (например) существует, то оно будет применяться для визуализации объекта с помощью приведенного ниже вызова:

    @Html.DisplayFor(x=>x.MakeNavigation, "ShowMake");

    В случае если шаблон не указан и отсутствует представление с именем класса, тогда для создания HTML-разметки, подлежащей отображению, используется рефлексия.

    Вспомогательная функция DisplayForModel()

    Вспомогательная функция DisplayForModel() отображает модель для представления. Если для отображаемого типа существует шаблон отображения, то он будет применяться при создании HTML-разметки, представляющей элемент. Продолжая предыдущий пример представления с сущностью Car в качестве модели, полную информацию Car можно отобразить следующим образом:

    @Html.DisplayForModel();

    Как и в случае со вспомогательной функцией DisplayFor(), если существует шаблон отображения, имеющий имя типа, тогда он будет использоваться. Можно также применять именованные шаблоны. Скажем, для отображения сущности Car с помощью шаблона отображения CarWithColors.html необходимо использовать такой вызов:

    @Html.DisplayForModel("CarWithColors");

    Если шаблон не указан и отсутствует представление с именем класса, то для создания HTML-разметки, подлежащей отображению, используется рефлексия.

    Вспомогательные функции EditorFor() и EditorForModel()

    Вспомогательные функции EditorFor() и EditorForModel() работают аналогично соответствующим вспомогательным функциям для отображения, но с тем отличием, что шаблоны ищутся в каталоге EditorTemplates и вместо представления объекта, предназначенного только для чтения, отображаются HTML-формы редакторов.

    Управление библиотеками клиентской стороны

    До завершения представлений нужно обновить библиотеки клиентской стороны (CSS и JavaScript). Проект диспетчера библиотек LibraryManager (первоначально разрабатываемый Мэдсом Кристенсеном) теперь является частью Visual Studio (VS2019) и также доступен в виде глобального инструмента .NET Core. Для извлечения инструментов CSS и JavaScript из CDNJS.com, UNPKG.com, jsDelivr.com или файловой системы в LibraryManager используется простой файл JSON.

    Установка диспетчера библиотек как глобального инструмента .NET Core

    Диспетчер библиотек встроен в Visual Studio. Чтобы установить его как глобальный инструмент .NET Core, введите следующую команду:

    dotnet tool install --global Microsoft.Web.LibraryManager.Cli --version 2.1.113

    Текущая версия диспетчера библиотек доступна по ссылке https://www.nuget.org/packages/Microsoft.Web.LibraryManager.Cli/.

    Добавление в проект AutoLot.Mvc библиотек клиентской стороны

    При создании проекта AutoLot.Mvc (с помощью Visual Studio или командной строки .NET Core CLI) в каталог wwwrootlib было установлено несколько файлов JavaScript и CSS. Удалите каталог lib вместе со всеми содержащимися в нем файлами, т.к. все они будут заменены диспетчером библиотек.

    Добавление файла libman.json

    Файл libman.json управляет тем, что именно устанавливается, из каких источников и куда попадают установленные файлы.

    Visual Studio

    Если вы работаете в Visual Studio, тогда щелкните правой кнопкой мыши на имени проекта AutoLot.Mvc и выберите в контекстном меню пункт Manage Client-Side Libraries (Управлять библиотеками клиентской стороны), в результате чего в корневой каталог проекта добавится файл libman.json. В Visual Studio также есть возможность связать диспетчер библиотек с процессом MSBuild. Щелкните правой кнопкой мыши на имени файла libman.json и выберите в контекстном меню пункт Enable restore on build (Включить восстановление при сборке). Вам будет предложено разрешить другому пакету NuGet (Microsoft.Web.LibraryManager.Build) восстановиться в проекте. Разрешите установку пакета.

    Командная строка

    Создайте новый файл libman.json посредством следующей команды (она устанавливает CDNJS.com в качестве стандартного поставщика):

    libman init --default-provider cdnjs

    Обновление файла libman.json

    Для поиска библиотек, подлежащих установке, сеть доставки содержимого CDNJS.com предлагает удобный для человека API-интерфейс. Список всех доступных библиотек можно просмотреть по следующему URL:

    https://api.cdnjs.com/libraries?output=human

    Найдя библиотеку, которую вы хотите установить, модифицируйте URL, указав имя библиотеки из списка, чтобы увидеть ее версии и файлы для каждой версии. Например, для просмотра всех доступных версий и файлов jQuery используйте такую ссылку:

    https://api.cdnjs.com/libraries/jquery?output=human

    После выбора версии и файлов для установки добавьте имя библиотеки (плюс версию), место назначения (обычно wwwroot/lib/<ИмяБиблиотеки>) и файлы, которые требуется загрузить. Скажем, чтобы загрузить jQuery, введите в массив JSON библиотеки следующий код:

    {

      "library": "[email protected]",

      "destination": "wwwroot/lib/jquery",

      "files": [ "jquery.js"]

    }

    Ниже приведено полное содержимое файла

    1 ... 394 395 396 397 398 399 400 401 402 ... 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 - Александр Андреевич Бодров
    Все комметарии
    Новинки бесплатной онлайн библиотеки