Как получить доступ к RouteData из помощника по тегам ASP.Net 5 в MVC 6

Я пытаюсь заполучить текущий маршрут, чтобы выделить активную страницу в наборе ссылок с помощью Tag Helper.

TagHelperContext не дает мне доступа к чему-либо полезному. Как я могу получить ссылку на RouteData?

1 ответ

Решение

В конце концов я нашел ответ, описанный здесь: https://github.com/aspnet/Announcements/issues/28

Вы можете импортировать ViewContext, используя внедрение свойства, используя новый атрибут. Вам нужно создать свойство в вашем классе вспомогательных тегов, например так:

[ViewContext]
public ViewContext ViewContext { get; set; }

Затем вы можете получить доступ к текущему контроллеру или действию следующим образом:

var pageController = ViewContext.RouteData.Values["controller"];
var pageAction = ViewContext.RouteData.Values["action"];

Возможно, я опубликовал этот вопрос, прежде чем проводить достаточное количество исследований, но это было не совсем очевидно, поэтому я надеюсь, что это поможет кому-то еще!

Другие вопросы по тегам