.Net Core MVC - маршрутизация атрибутов и построение строки запроса с использованием настраиваемого помощника тега привязки - PullRequest
1 голос
/ 17 июня 2019

В моем приложении .Net Core 2.1 мне приходится передавать несколько параметров строки запроса между страницами (несколько страниц).Поэтому я создал специальный помощник по тегам для создания этих URL-адресов с необходимыми параметрами, чтобы избежать кодирования этих параметров за каждым тегом привязки в моем макете.

Позже я добавил маршрутизацию атрибутов в методы контроллера, чтобы сделать URL-адреса SEO.Но эти якорные теги не разрешают / не совпадают с маршрутами, потому что не находят необходимые параметры, соответствующие пути маршрута.Моя работа заключается в том, чтобы избавиться от специального помощника по тегам и передать параметры во встроенный помощник по тегам.

Есть мысли о том, как заставить атрибуты маршрута работать с помощниками по пользовательским тегам?

ОБНОВЛЕНИЕ : ------------------------- Помощник по пользовательским тегам -------------------------

[HtmlTargetElement("mya",Attributes =ForAttributeName)]
public class MyAnchorTagHelper : AnchorTagHelper
{
   private const string ForAttributeName = "my-a";

   public ExtAnchorTagHelper(IHtmlGenerator generator) : base(generator) {}
   public override void Process(TagHelperContext context, TagHelperOutput output)
   {
        RouteValues.Add("Param1", "xyz");
        RouteValues.Add("Param2", "abc");
        RouteValues.Add("Param3", "jkl");
        ---------some other code here------------------
        output.TagName = "a";
        base.Process(context, output);
   }

------------------------- Атрибут маршрута-------------------------

namespace App.Areas.Admin.Controllers
{
    [Area("Admin")]
    [Route("{param1}/{param2}/{param3}")]
    public class MyController : Controller
    {
        public MyController() {}
        [Route("student",Name ="ManageStudent")]
        public IActionResult Index()
        {
           return View();
        }

------------------------- Код из вида / макета -------------------------

<mya my-a="x" asp-area="Admin" asp-controller="My" asp-action="Index" class="list-group-item list-group-item-action">
     <i aria-hidden="true" class="fas fa-user"></i>Students
</mya>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...