Пользовательский TagHelper для изменения значений маршрута, аналогичный asp-route- {value}, но без параметров - PullRequest
0 голосов
/ 09 января 2019

Мне нужно иметь возможность делать что-то вроде asp-route- {value}, но без необходимости передавать ему значение и данные, например.

Вместо передачи asp-route-country и asp-route-lang к каждой ссылке

@{
    string lang = ViewContext.ViewData["baseLang"]?.ToString();
    string country = ViewContext.ViewData["baseCountry"]?.ToString();
}

<a asp-controller="Home" asp-action="About" asp-route-country=@country asp-route-lang=@lang>country and lang</a>
<a asp-controller="Home" asp-action="About" asp-route-country="" asp-route-lang=@lang> only lang</a>
<a asp-controller="Home" asp-action="About" asp-route-country=@country asp-route-lang="">only country</a>

Я могу игнорировать установку переменных viewData, которые уже находятся в сеансе, я могу просто создать собственные помощники тегов, например, так.

<a asp-controller="Home" asp-action="About" country-lang>country and lang</a>
<a asp-controller="Home" asp-action="About" lang-only> only lang</a>
<a asp-controller="Home" asp-action="About" country-only>only country</a>

Есть ли способ увидеть, как asp-route- {value} использует магию или воспроизводит аналогичную функциональность?

Спасибо

...