Ist es möglich, den aktuell ausgeführten Controller / die aktuell ausgeführte Aktion in OnActionExecuting herauszufinden?
Ist es möglich, den aktuell ausgeführten Controller / die aktuell ausgeführte Aktion in OnActionExecuting herauszufinden?
Antworten:
Sie könnten die versuchen , ActionDescriptor
von dem ActionExecutingContext
wie folgt:
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
string actionName = filterContext.ActionDescriptor.ActionName;
string controllerName = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName
.....
base.OnActionExecuting(filterContext);
}
Sie können ActionDescriptor
von verwendenActionExecutingContext
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
var descriptor = filterContext.ActionDescriptor;
var actionName = descriptor.ActionName;
var controllerName = descriptor.ControllerDescriptor.ControllerName;
......
base.OnActionExecuting(filterContext);
}
ActionExecutingContext-Kontext Dies wird Ihr Kontext sein ....
var actionName = ((Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor)context.ActionDescriptor).ActionName;
var controllerName = ((Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor)context.ActionDescriptor).ControllerName;
Verwenden Sie für ASP.NET Core Folgendes:
var controllerName = ((ControllerBase)filterContext.Controller)
.ControllerContext.ActionDescriptor.ControllerName;
var actionName = ((ControllerBase)filterContext.Controller)
.ControllerContext.ActionDescriptor.ActionName;
var controllerName = (string)routingValues["controller"];
var actionName = (string)routingValues["action"];