Как получить доступ к 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"];
Возможно, я опубликовал этот вопрос, прежде чем проводить достаточное количество исследований, но это было не совсем очевидно, поэтому я надеюсь, что это поможет кому-то еще!