1、可以使用Page.LoadControl()方法来加载自定义用户控件。但是,请注意,这里的用户控件类实质上应该是两个类的“合成”
CatalogList1 = (Article.Web.Controls.CatalogList)Page.LoadControl("Controls/CatalogList.ascx"); 因为页面是有xx.ascx 和xx.cs(xx.vb)两个组成 . 如果写成这样,会出现问题的
CatalogList1 = new Article.Web.Controls.CatalogList(); 2、不要公开用户控件中的控件的属性为public
![](/Emoticons/thumbs_down.gif)
,即使你公开为public,vs会在你重新进入ui编辑界面的时候,自动把它置为protected
![](/Emoticons/cry_smile.gif)
。很多人都会问:怎么控制自定义用户控件中的控件啊?建议--公开方法
![](/Emoticons/thumbs_up.gif)
!
3、自定用户控件之间的交互问题
有时候,同一个页面的两个用户控件需要进行交互。
如何进行交互呢?怎样传递消息呢?
有人使用url来进行传递消息参数
![](/Emoticons/thumbs_up.gif)
,但是,最好的方法是利用委托事件的方式
![](/Emoticons/thumbs_up.gif)
![](/Emoticons/thumbs_up.gif)
,
这种方式甚至能让你在两个用户控件之间传递一个DataSet。呵呵,功能强大。
但是,效率会低一些
![](/Emoticons/sad_smile.gif)
。
关于如何进行委托事件的定义,来看看这:
http://www.cnblogs.com/king_astar/archive/2004/08/17/34162.aspx