2010-08-23 121 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);