私は(とりわけ)RouteDataに何かを追加するアクションフィルターを持っています。ただし、値はアクション メソッドのパラメーターによって取得されません。理由はありますか?
アクション フィルタ:
public class SomeFilter : FilterAttribute, IActionFilter
{
public void OnActionExecuting(ActionExecutingContext filterContext)
{
var someData = new SomeClass();
//do stuff
filterContext.RouteData.Values["someData"] = someData;
}
}
アクション方法:
[SomeFilter]
public ViewResult SomeActionMethod(SomeClass someData)
{
//someData is null here
}
アクション メソッド内の次の行は、アクション フィルターに保存されたデータを返すことに注意してください。
SomeClass isNotNull = RouteData.Values["someData"] as SomeClass;
誰でも理由を知っていますか?