如何从 MVC 6 中的 ASP.Net 5 Tag Helper 访问 RouteData

How to access RouteData from an ASP.Net 5 Tag Helper in MVC 6

我正在尝试获取当前路由,以便我可以使用标记帮助程序突出显示一组链接中的活动页面。

TagHelperContext 没有让我访问任何有用的东西。如何获得对 RouteData 的引用?

我最终找到了这里描述的答案:https://github.com/aspnet/Announcements/issues/28

您可以使用新属性使用 属性 注入导入 ViewContext。您需要在标记助手 class 中创建一个 属性,如下所示:

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

然后您可以像这样访问当前控制器或操作:

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

也许我在做足够的研究之前发布了这个问题,但这并不是很明显,所以我希望这对其他人有帮助!