13

vs ActionParameters Aşağıdaki kodu Verilen?ActionExecutingContext RouteData

Rota verileri üzerinden ne zaman eylem parametreleri kullanmalıyız? Fark ne? Eğer OnActionExecuting üzerinde ActionParameters kullandığınızda

+4

@DarinDimitrov nerede ihtiyacınız olduğunda. :) – RPM1984

cevap

14

, Örnek için, alan eyleminizi işlemek için istemci tarafı tarafından gönderilmesi değerleri değiştirebilirsiniz:

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

     base.OnActionExecuting(filterContext); 
    } 
} 

Bir CustomerId parametresini kullanarak bir işlem varsa, böyle herhangi url istekte

: /customer/detail/123, sen CustomerID üzerinde 852 değerini alacak:

eylem örneği için filtresi olan beri, aksiyon filtresinde setted değerini alacak
[MyAction] 
public ActionResult Detail(int customerId) 
{ 
    // customerId is 852 

    return View(); 
} 

RouteData yalnızca URL'lerde bulunan değerlerdir, hedef tablolarla işlenir.