-- 系列文章与Stella Forum v2.0搭配使用效果更好 --
webcomponent里放的是系统所使用的控件,主要分三类
1.标准的自定义控件
2.继承自baseskin的皮肤控件
3.作为页面框架而存在的Container
1.标准的自定义控件
这类控件主要是用来展示一些固定的数据,比如说表情列表和样式列表,直接继承自相应的web control,然后在里面定好数据源。这样使用的时候就直接拖到用户控件里。
2.继承自baseskin的皮肤控件
这一类控件的作用就是动态的加载用户控件,在页面呈现。baseskin是所有这类控件的基类,里面包含了一些通用的功能,最主要的方法是这个
protected override void CreateChildControls()
{
//加载用户控件
Control skin=loadSkin();
//初始化用户控件
initSkin(skin);
///将控件加入集合
Controls.Add(skin);
}
具体使用的时候是由具体的子控件决定要加载哪个用户控件,比如这个:
public InfoSum()
{
this.skinFileName="InfoSum.ascx";
}
指定后,还需要重写initSkin(skin),初始化控件。
关于这个的具体分析,大家可以看我的主页上的文章“78.探索ASP.NET Forum(3)皮肤主题的更换”