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

ЖАНРЫ

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

using Microsoft.AspNetCore.Mvc.Infrastructure;

using Microsoft.AspNetCore.Mvc.Routing;

using Microsoft.AspNetCore.Razor.TagHelpers;

namespace AutoLot.Mvc.TagHelpers

{

public class ItemDetailsTagHelper : ItemLinkTagHelperBase

{

}

}

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

и передает их конструктору базового класса:

public ItemDetailsTagHelper(

IActionContextAccessor contextAccessor,

IUrlHelperFactory urlHelperFactory)

: base(contextAccessor, urlHelperFactory) {}

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

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

public override void Process(TagHelperContext context, TagHelperOutput output)

{

BuildContent(output,nameof(CarsController.Details),

"text-info","Details","info-circle");

}

Код создает ссылку Details (Детали) с изображением значка информации из Font Awesome. Чтобы не возникали ошибки при компиляции, добавьте в

CarsController
базовый метод
Details
:

public IActionResult Details

{

return View;

}

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

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

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

{

}

}

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

public ItemDeleteTagHelper(

IActionContextAccessor contextAccessor,

IUrlHelperFactory urlHelperFactory)

: base(contextAccessor, urlHelperFactory) {}

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

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

public override void Process(TagHelperContext context, TagHelperOutput output)

{

BuildContent(output,nameof(CarsController.Delete),"text-danger","Delete","trash");

}

Код создает ссылку Delete (Удалить) с изображением значка мусорного ящика из Font Awesome. Чтобы не возникали ошибки при компиляции, добавьте в

CarsController
базовый метод
Delete
:

public IActionResult Delete

{

return View;

}

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

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

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

{

}

}

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

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;

}

Поделиться с друзьями: