我正在使用一些第三方课程。我想得到我的控制器的路由值。不幸的是,它并没有把我正在执行的当前控制器交给我。我可以从HttpContext获取它吗?
该课程类似于:
public class ServiceStationVisibilityProvider
: ISiteMapNodeVisibilityProvider
{
public bool IsVisible(SiteMapNode node, HttpContext context, IDictionary<string, object> sourceMetadata)
{
node.Title = DateTime.Now.ToString(); //need to access routevalues and set title
return true;
}
现在我可以手动检查Request.RawUrl并解析并做一些时髦的事情。但是,我不想写那种,并在应用程序增长后遇到麻烦。 }
答案 0 :(得分:9)
您可以搜索此对象中的"controller"
和"action"
的值
HttpContext.Request.RequestContext.RouteData.Values
答案 1 :(得分:7)
不确定您正在执行的上下文,但您可以从RequestContext获取它:
RequestContext.RouteData.Values["controller"].ToString()