2011-05-28 94 views
0

我想要做這樣的事情使用ASP.NET MVC動作參數參數

[MyAttribute(Message="Please upgrade to view " + name)] 
public ActionResult Details(string name) 
{ 
    .... 
} 

我知道我可以從屬性代碼本身內部調用filterContext.ActionDescriptor.GetParameters(),但有什麼辦法在使用它們控制器?

回答

2

實現此目的的正確方法是使用自定義操作篩選器,並在內部使用filterContext.ActionDescriptor.GetParameters()或從RouteData獲取所需的參數。您不能在屬性聲明中使用動態值,因爲屬性表示在編譯時烘焙到程序集中的元數據=> .NET不允許您這樣做。在屬性聲明中只能使用靜態或常量參數。

+0

這就是我想的。謝謝 – kenwarner 2011-05-28 19:44:48