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