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

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

Жанры

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

public ItemEditTagHelper(

IActionContextAccessor contextAccessor,

IUrlHelperFactory urlHelperFactory)

: base(contextAccessor, urlHelperFactory) {}

Переопределите метод

Process
, чтобы вызывать метод
BuildContent
базового класса:

public override void Process(TagHelperContext context, TagHelperOutput output)

{

BuildContent(output,nameof(CarsController.Edit),"text-warning","Edit","edit");

}

Код

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

public IActionResult Edit

{

return View;

}

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

Создайте в каталоге

TagHelpers
новый файл класса по имени
itemCreateTagHelper.cs
. Сделайте класс
ItemCreateTagHelper
открытым и унаследованным от класса
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 ItemCreateTagHelper : ItemLinkTagHelperBase

{

}

}

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

public ItemCreateTagHelper(

IActionContextAccessor contextAccessor,

IUrlHelperFactory urlHelperFactory)

: base(contextAccessor, urlHelperFactory) {}

Переопределите метод

Process
, чтобы вызывать метод
BuildContent
базового класса:

public override void Process(TagHelperContext context, TagHelperOutput output)

{

BuildContent(output,nameof(CarsController.Create),"text-success","Create new","plus");

}

Код создает ссылку Create new (Создать) с изображением значка плюса из Font Awesome.

Вспомогательная

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

Создайте в каталоге

TagHelpers
новый файл класса по имени
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 и добавьте в него следующую строку:

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

Зубных дел мастер

Дроздов Анатолий Федорович
1. Зубных дел мастер
Фантастика:
научная фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Зубных дел мастер

Бывшие. Война в академии магии

Берг Александра
2. Измены
Любовные романы:
любовно-фантастические романы
7.00
рейтинг книги
Бывшие. Война в академии магии

Идеальный мир для Лекаря 7

Сапфир Олег
7. Лекарь
Фантастика:
юмористическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 7

Возвышение Меркурия. Книга 3

Кронос Александр
3. Меркурий
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 3

Кодекс Охотника. Книга X

Винокуров Юрий
10. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
6.25
рейтинг книги
Кодекс Охотника. Книга X

Хозяин Теней

Петров Максим Николаевич
1. Безбожник
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Хозяин Теней

Опасная любовь командора

Муратова Ульяна
1. Проклятые луной
Фантастика:
фэнтези
5.00
рейтинг книги
Опасная любовь командора

Друд, или Человек в черном

Симмонс Дэн
Фантастика:
социально-философская фантастика
6.80
рейтинг книги
Друд, или Человек в черном

Волхв

Земляной Андрей Борисович
3. Волшебник
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Волхв

Мастер Разума VII

Кронос Александр
7. Мастер Разума
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Мастер Разума VII

Всемирная энциклопедия афоризмов. Собрание мудрости всех народов и времен

Агеева Елена А.
Документальная литература:
публицистика
5.40
рейтинг книги
Всемирная энциклопедия афоризмов. Собрание мудрости всех народов и времен

Сумеречный Стрелок 5

Карелин Сергей Витальевич
5. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный Стрелок 5

Морской волк. 1-я Трилогия

Савин Владислав
1. Морской волк
Фантастика:
альтернативная история
8.71
рейтинг книги
Морской волк. 1-я Трилогия

Прогрессор поневоле

Распопов Дмитрий Викторович
2. Фараон
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Прогрессор поневоле