13

대 ActionParameters 다음 코드를 감안할 때?ActionExecutingContext으로 RouteData

언제 경로 매개 변수에 조치 매개 변수를 사용해야합니까? 그 차이점은 무엇입니까? 당신이 OnActionExecutingActionParameters를 사용하는 경우

+4

@DarinDimitrov는 어디에서 필요합니까? :) – RPM1984

답변

14

, 당신은 샘플, 지역 액션을 처리하기 위해 클라이언트 측에서 전송 값을 변경할 수 있습니다

public class MyActionFilter : ActionFilterAttribute 
{ 
    public override void OnActionExecuting(ActionExecutingContext filterContext) 
    { 
     filterContext.ActionParameters["customerId"] = 852; 

     base.OnActionExecuting(filterContext); 
    } 
} 

을 당신이 고객 ID를 매개 변수를 사용하여 작업이있는 경우 이 같은 모든 URL 요청하면

: /customer/detail/123를, 당신이 고객 ID에 852 값을 얻을 것이다 :

당신의 행동이 샘플에 대한 필터를 가지고 있기 때문에, 액션 필터에 살고 있고 값을 얻을 것이다
[MyAction] 
public ActionResult Detail(int customerId) 
{ 
    // customerId is 852 

    return View(); 
} 

RouteData은 값이 URL에 있으며, 경로 테이블에 의해 처리됩니다.