ActionExecutingContext - ActionParameters vs RouteData
Folgenden code:
public class MyActionFilter : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
var a = filterContext.ActionParameters["someKey"];
var b = filterContext.RouteData.Values["someKey"];
base.OnActionExecuting(filterContext);
}
}
Was ist der Unterschied zwischen a
und b
?
Wann sollen wir sein über die Aktion Parameter über die route Daten? Was ist der Unterschied?
- wo ist @DarinDimitrov, wenn Sie ihn brauchen. 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie
ActionParameters
aufOnActionExecuting
Sie können die Werte ändern, die senden, durch die client-Seite vor der Verarbeitung einer Aktion, zum Beispiel:Wenn Sie eine Aktion mit einem customerId-parameter wird der Wert eingestellt, der auf dem action-filter, da Ihre Aktion die filter, zum Beispiel:
Wenn Sie bitten, eine url wie diese:
/customer/detail/123
erhalten Sie852
Wert "CustomerId":RouteData
ist nur über die Werte auf die url, Bearbeitung von ROUTING-Tabellen.