how to add a user control to a panel in a web form?在页面中添加控件或自定义控件

如下得方式可以加入控件

1. 如果你再页面中已经注册了控件,就像:
<%@ Register Src="../UserControl/UploadImg_WebUserControl.ascx" 
         TagName="UploadImg_WebUserControl"
         TagPrefix="uc1" %>
你可以:
UserControlName obj = new UserControlName(); //creating object for User control
Panel1.Controls.Add(obj)

2. 如果在页面中还没有注册,那么你需要这样去做:
UserControl xy = new UserControl()

xy.LoadControl("virtual path of the use control")

Panel1.Controls.Add(xy)

3.如果你在自定义控件中放置了加载得项目,比如:
Update panel或者FileUpload以及类似的控件,你需要在Placeholder完成追加:

PlaceHolder pl = new PlaceHolder()
UserControl x = new UserControl()
pl.Controls.Add(x)
Panel1.Controls.Add(pl)



再谈Panel和PlaceHolder的区别
这两个确实都是容器  
pannel控件内可以放置任何内容,可能通过enable或visable属性设置控件内容的是否允许操作或是否可以显示,但容器里面的内容不能动态加载!
而placeholder控件可以动态加载相应的ascx用户控件。例如:
PlaceHolder1.Controls.Add(LoadControl("~/UserControl/UploadImg_WebUserControl.ascx"))    
总结最明显的区别就是:前者不可以动态加载相应的文件,而后者可以根据条件动态加载相应的文件或内容  

 

posted @ 2009-09-03 10:22  duanyong  阅读(309)  评论(0编辑  收藏  举报