我能否从HttpContext中获取当前正在执行的控制器
本文关键字:执行 控制器 获取 HttpContext | 更新日期: 2023-09-27 18:10:34
我正在使用一些第三方类。我想在其中获取控制器的routevalues。不幸的是,它没有给我当前正在执行的控制器。我能从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;
}
现在我可以手动检查请求。RawUrl,解析和做一些奇怪的事情。但是,我不希望编写那种类型的代码,以免在以后应用程序增长时陷入麻烦。}
可以在此对象中搜索"controller"
和"action"
的值
HttpContext.Request.RequestContext.RouteData.Values
不确定在什么上下文中执行,但您可以从RequestContext:
获得它RequestContext.RouteData.Values["controller"].ToString()