我有一个动作过滤器(除其他外),将内容添加到 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;
有谁知道为什么?