0
我有一個定製的DDL,它位於我的服務器控件庫中。使用表中的控件名稱動態選擇和構建控件庫中的控件
目前,我通過強制鍵入控件的名稱(通常的方式)將此控件添加到表中。
Control_Library.Report_NumberDDL newDDL = new Control_Library.Report_NumberDDL();
我想要做的就是通過從表格中拉出控件名稱來動態創建該控件。
所以我會在我的代碼中的控件的名稱,在這種情況下「Report_NumberDDL」,然後我想創建控件,而不必強制鍵入它。
這樣的事情,雖然我知道這並不工作:
string controlName = "Report_NumberDDL";
Control_Library."controlName" controlNum1 = new Control_Library."controlName"();
SO因爲這顯然是行不通的有人可以幫我什麼工作?
感謝
編輯:
我試着這樣做:
Type type = Type.GetType("Control_Library.Report_NumberDDL");
object control = Activator.CreateInstance(type);
但在的CreateInstance(類型)我得到一個空值異常。所以Type沒有正確創建。
好吧,我想通過這個工作,但這裏有一個問題,就是我所做的: 類型類型= Type.GetType(「One_Eva_Control_Library。 Emu_AIR_Report_NumberDDL「); object control = Activator.CreateInstance(type); 現在我得到一個空類型的異常,所以我不知道我在那裏做錯了什麼。 – 2010-02-01 17:50:23
確保您的One_Eva_Control_Library程序集已加載並可用。然後嘗試Type type = Type.GetType(「Emu_AIR_Report_NumberDDL」); – Don 2010-02-01 17:55:24
當你說加載和可用這是否意味着添加'使用One_Eva_Control_Library;'我的aspx.cs文件?或者還有其他需要確保裝配已裝入和可用的東西。 – 2010-02-01 18:02:12