반응형
OnAction에서 컨트롤러 및 작업 이름을 가져오는 방법실행 중?
OnAction에서 현재 실행 중인 컨트롤러/액션을 파악할 수 있습니까?실행 중?
다음 중 하나를 사용할 수 있습니다.
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
string actionName = filterContext.ActionDescriptor.ActionName;
string controllerName = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName
.....
base.OnActionExecuting(filterContext);
}
사용할 수 있습니다.
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"];
ASP.NET Core의 경우 다음을 사용합니다.
var controllerName = ((ControllerBase)filterContext.Controller)
.ControllerContext.ActionDescriptor.ControllerName;
var actionName = ((ControllerBase)filterContext.Controller)
.ControllerContext.ActionDescriptor.ActionName;
작업실행컨텍스트 컨텍스트가 사용자의 컨텍스트가 됩니다.
var actionName = ((Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor)context.ActionDescriptor).ActionName;
var controllerName = ((Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor)context.ActionDescriptor).ControllerName;
var controllerName = (string)routingValues["controller"];
var actionName = (string)routingValues["action"];
속성(예: Attributes)을 사용하는 것 같습니다.ActionFilterAttribute), 만약 그렇다면, 당신은 얻을 수 있습니다.
작업 이름 양식 특성 생성자:
public CustomProfileAttribute([CallerMemberName] string caller = null) { _actionName = caller; }컨트롤러 이름:
public CustomProfileAttribute([CallerMemberName] string caller = null) { _controllerName = context.Controller.ToString()또는 컨트롤러와 동작 모두:
public override void OnActionExecuting(ActionExecutingContext context) { var controllerAndAction = context.ActionDescriptor.DisplayName;하지만 그런 경우에 당신은 다음과 같은 추악한 이름을 갖게 될 것입니다.
controller.action (action)
언급URL : https://stackoverflow.com/questions/18535241/how-to-get-controller-and-action-name-in-onactionexecuting
반응형
'programing' 카테고리의 다른 글
| bash 스크립트 내에서 SQL을 어떻게 실행합니까? (0) | 2023.06.28 |
|---|---|
| 개체를 데이터 및 응용 프로그램/x-www-form-url 인코딩된 콘텐츠 유형으로 RestTemplate를 사용하시겠습니까? (0) | 2023.06.28 |
| 단일 파일의 기록에서 문자열 검색 (0) | 2023.06.28 |
| Nginx Reverse Proxy 뒤에 MongoDB를 설정하는 방법 (0) | 2023.06.28 |
| 'false'를 0으로, 'true'를 1로 변환하는 방법은 무엇입니까? (0) | 2023.06.28 |