Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
public IActionResult Edit(){ return View();}Вспомогательная функция дескриптора для создания элемента
Создайте в каталоге
TagHelpersitemCreateTagHelper.csItemCreateTagHelperItemLinkTagHelperBaseusing 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.
Вспомогательная функция дескриптора для вывода списка элементов
Создайте в каталоге
TagHelpersItemListTagHelper.csItemListTagHelperItemLinkTagHelperBaseusing 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. Чтобы не возникали ошибки при компиляции, добавьте в
CarsControllerIndex()public IActionResult Index(){ return View();}Обеспечение видимости специальных вспомогательных функций дескрипторов
Чтобы сделать специальные вспомогательные функции дескрипторов видимыми, потребуется выполнить команду
@addTagHelper_ViewImports.cshtml_ViewImports.cshtml@addTagHelper *, AutoLot.MvcВспомогательные функции HTML
Вспомогательные функции HTML из ASP.NET MVC по-прежнему поддерживаются, а некоторые из них применяются довольно широко и перечислены в табл. 31.5.

Вспомогательная функция DisplayFor()
Вспомогательная функция
DisplayFor()Car@Html.DisplayFor(x=>x.MakeNavigation);Если в каталоге
DisplayTemplatesMake.cshtmlShowMake.cshtml