2010-08-23 196 views
0

我創建了用戶控件並希望將其添加到頁面。我使用下面的代碼:ASP.NET動態創建自定義控件

Controls_MultiTextInput cc = new Controls_MultiTextInput(); 
Controls.Add(cc); 

但是控件不會出現在頁面上。哪裏不對?

+0

我能夠添加使用this.Controls.Add(this.LoadControl( 「MultiTextInput.ascx」))控制; 但它似乎是一個壞方法,因爲我無法在添加之前設置控件的屬性。 – Anton 2010-08-23 09:41:47

+0

當您添加非自定義控件(例如文本框)時它工作嗎? – 2010-08-23 09:47:43

回答

1

this.Controls.Add(this.LoadControl("MultiTextInput.ascx"))是加載控制,因爲它需要知道在哪裏的ascx文件是正確的方法。

如果你想設置的屬性,這樣做:

Controls_MultiTextInput cc = (Controls_MultiTextInput) LoadControl("MultiTextInput.ascx"); 
cc.MyProperty = "abc"; 
Controls.Add(cc); 
0

安東你可以設置屬性!

Controls_MultiTextInput cc 
    = (Controls_MultiTextInpu)Page.LoadControl("MultiTextInput.ascx"); 

cc.variable = 2; 
cc.SetProperties(223,2311); 

Controls.Add(cc); 

or 

PlaceHolder.Controls.Add(cc);