我需要掌握另一個控制器上的屬性(即不是當前正在執行的屬性)。要做到這一點有沒有辦法通過ASP.NET MVC3管道獲取控制器類型?
的一種方法如下:
Type controllerType = Type.GetType("App1.UI.Web.Controllers." + controllerName + "Controller", true);
object[] controllerAttributes = controllerType.GetCustomAttributes(true);
是否還有更好的,更不易碎,方式使用MVC管道做?我不想實例化控制器,我只是想要它的屬性。
其中'controllerName'變量來自哪裏?該屬性提供了哪些信息? – wal
你爲什麼試圖訪問與正在執行的控制器不同的控制器? – jrummell
如果您正在管道中,您應該可以使用ControllerDescriptor獲取控制器名稱的名稱,然後使用反射來查找類型及其屬性 – Roman