我有一個操作過濾器(其中包括),它將內容添加到RouteData中。但是,這個值並沒有被我的action方法中的參數拾取。任何想法爲什麼?ASP.NET MVC - 在過濾器操作中設置的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;
任何人都知道爲什麼?
感謝詹姆斯,這實際上使有很大的意義 – Hossein