loy*_*low 67 asp.net asp.net-mvc-4
是否可以找出OnActionExecuting中当前正在执行的控制器/操作?
chr*_*dam 96
你可以尝试ActionDescriptor的ActionExecutingContext,如下所示:
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
string actionName = filterContext.ActionDescriptor.ActionName;
string controllerName = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName
.....
base.OnActionExecuting(filterContext);
}
Run Code Online (Sandbox Code Playgroud)
Sat*_*pal 36
您可以使用ActionDescriptor的ActionExecutingContext
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
var descriptor = filterContext.ActionDescriptor;
var actionName = descriptor.ActionName;
var controllerName = descriptor.ControllerDescriptor.ControllerName;
......
base.OnActionExecuting(filterContext);
}
Run Code Online (Sandbox Code Playgroud)
Oli*_*ver 14
你可以看一下RouteData:
Request.RequestContext.RouteData.Values["Controller"];
Request.RequestContext.RouteData.Values["Action"];
Run Code Online (Sandbox Code Playgroud)
小智 6
ActionExecutingContext上下文将成为您的上下文。
var actionName = ((Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor)context.ActionDescriptor).ActionName;
var controllerName = ((Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor)context.ActionDescriptor).ControllerName;
Run Code Online (Sandbox Code Playgroud)
对于ASP.NET Core,请使用以下命令,
var controllerName = ((ControllerBase)filterContext.Controller)
.ControllerContext.ActionDescriptor.ControllerName;
var actionName = ((ControllerBase)filterContext.Controller)
.ControllerContext.ActionDescriptor.ActionName;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
44439 次 |
| 最近记录: |