Чтение онлайн

на главную - закладки

Жанры

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

@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) в каталог
wwwroot\lib
было установлено несколько файлов 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:

Поделиться:
Популярные книги

Черный маг императора 3

Герда Александр
3. Черный маг императора
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Черный маг императора 3

Повелитель механического легиона. Том VIII

Лисицин Евгений
8. Повелитель механического легиона
Фантастика:
технофэнтези
аниме
фэнтези
5.00
рейтинг книги
Повелитель механического легиона. Том VIII

Пипец Котенку! 3

Майерс Александр
3. РОС: Пипец Котенку!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Пипец Котенку! 3

Разбуди меня

Рам Янка
7. Серьёзные мальчики в форме
Любовные романы:
современные любовные романы
остросюжетные любовные романы
5.00
рейтинг книги
Разбуди меня

Боги, пиво и дурак. Том 6

Горина Юлия Николаевна
6. Боги, пиво и дурак
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Боги, пиво и дурак. Том 6

Болотник 2

Панченко Андрей Алексеевич
2. Болотник
Фантастика:
попаданцы
альтернативная история
6.25
рейтинг книги
Болотник 2

Ты всё ещё моя

Тодорова Елена
4. Под запретом
Любовные романы:
современные любовные романы
7.00
рейтинг книги
Ты всё ещё моя

S-T-I-K-S. Пройти через туман

Елисеев Алексей Станиславович
Вселенная S-T-I-K-S
Фантастика:
боевая фантастика
7.00
рейтинг книги
S-T-I-K-S. Пройти через туман

Имя нам Легион. Том 4

Дорничев Дмитрий
4. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 4

Сводный гад

Рам Янка
2. Самбисты
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Сводный гад

Я князь. Книга XVIII

Дрейк Сириус
18. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я князь. Книга XVIII

Королевская Академия Магии. Неестественный Отбор

Самсонова Наталья
Любовные романы:
любовно-фантастические романы
8.22
рейтинг книги
Королевская Академия Магии. Неестественный Отбор

Последняя Арена 6

Греков Сергей
6. Последняя Арена
Фантастика:
рпг
постапокалипсис
5.00
рейтинг книги
Последняя Арена 6

Жребий некроманта. Надежда рода

Решетов Евгений Валерьевич
1. Жребий некроманта
Фантастика:
фэнтези
попаданцы
6.50
рейтинг книги
Жребий некроманта. Надежда рода