1)System.Web.UI.Control(以下简称Control)
Control 类是包括自定义控件、用户控件和页在内的所有 ASP.NET 服务器控件的基类。。定义由所有 ASP.NET 服务器控件共享的属性、方法和事件。
命名空间:System.Web.UI
程序集:System.Web(在 system.web.dll 中)
2)System.Web.UI.WebControls.WebControl(以下简称WebControl)
WebControl 类是 System.Web.UI.WebControls 命名空间中的所有控件的基类。。它派生自Control类,定义由所有 Web 服务器控件共享的公共属性、方法和事件。(MSDN)。
但反编译Literal得知Literal控件在System.Web.UI.WebControls 命名空间中却直接派生于Control类。(见截图)
命名空间:System.Web.UI.WebControls
程序集:System.Web(在 system.web.dll 中)
3)System.Web.UI.WebControls.CompositeControl(以下简称CompositeControl)
CompositeControl 类是一个抽象类,派生自WebControls,实现包含子控件的 Web 控件所需的基本功能。
命名空间:System.Web.UI.WebControls
程序集:System.Web(在 system.web.dll 中)
1)首先,ASP.NET中所有标准控件都是可以拿来做基类的,所以,如果要实现的控件只是对某个标准控件做了少量的修改或补充,那么大可把该标准控件拿来做基类。
2)当要实现的控件在标准控件中找不到合适的原型时,应考虑Control、WebControl、CompositeControl三个基类。(具体基类的选择见下图所示)