我可以从HttpContext获取当前正在执行的控制器吗?

我正在使用一些第三方课程。 我想得到我的控制器的路由值。 不幸的是,它没有交给我正在执行的当前控制器。 我可以从HttpContext获取它吗?

该类看起来像:

public class ServiceStationVisibilityProvider : ISiteMapNodeVisibilityProvider { public bool IsVisible(SiteMapNode node, HttpContext context, IDictionary sourceMetadata) { node.Title = DateTime.Now.ToString(); //need to access routevalues and set title return true; } 

现在我可以手动检查Request.RawUrl并解析并做一些时髦的事情。 但是,我不想写那种,并在应用程序增长后遇到麻烦。 }

您可以在此对象中搜索"controller""action"的值

 HttpContext.Request.RequestContext.RouteData.Values 

不确定您正在执行什么上下文,但您可以从RequestContext获取它:

 RequestContext.RouteData.Values["controller"].ToString()