如何在OnActionExecuting中获取控制器和操作名称?
有没有可能找出OnActionExecuting当前正在执行的控制器/动作?
你可以尝试ActionExecutingContext
的ActionDescriptor
,如下所示:
protected override void OnActionExecuting(ActionExecutingContext filterContext) { string actionName = filterContext.ActionDescriptor.ActionName; string controllerName = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName ..... base.OnActionExecuting(filterContext); }
您可以使用ActionExecutingContext
ActionDescriptor
protected override void OnActionExecuting(ActionExecutingContext filterContext) { var descriptor = filterContext.ActionDescriptor; var actionName = descriptor.ActionName; var controllerName = descriptor.ControllerDescriptor.ControllerName; ...... base.OnActionExecuting(filterContext); }
你可以看看RouteData
:
Request.RequestContext.RouteData.Values["Controller"]; Request.RequestContext.RouteData.Values["Action"];
var controllerName = (string)routingValues["controller"]; var actionName = (string)routingValues["action"];
ActionExecutingContext上下文这将是你的上下文….
var actionName =((Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor)context.ActionDescriptor).ActionName; var controllerName =((Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor)context.ActionDescriptor).ControllerName;
- 在A.dll和B.dll中都存在错误CS0433“types”X“是从哪里来的?
- 为HTTP POST / GET请求启用ASP.NET ASMX Web服务
- 为什么IIS线程与常规CLR线程相比如此珍贵?
- 在使用Windows服务和SQL Server的OneWay WCF消息中排队
- 无法在MVC4 Web API中加载文件或程序集“System.Net.Http,Version = 2.0.0.0”
- 全球ASAX – 获取服务器名称
- ASP.NET MVC 1.0 AfterBuilding视图在TFS Build上失败
- ASP.NET MVC 5 Web.config:“FormsAuthenticationModule”或“FormsAuthentication”
- C# – 输出图像到响应输出stream给GDI +错误