控件基类的选择

     只要是 Web 控件,不管是 ASP.NET 控件还是第三方厂商控件,最终被解析到客户端的 都是标准的 H TML 标记。也可以这么说,做一个控件的过程就是根据控件使用者设置控件的属性(简单值或复杂数据源集合等)进行组织 H TML 并输出的过程。控件无非就是把一些常 用的功能抽象成一个通用的控件,提高重用性,节省开发时间,这样要比之前开发人员对每个页面用纯 H TML 开发要好多了。控件开发可以理解为组织 H TML 的过程。

     咱们在开发一个控件之前要先选择控件开发要继承的基类,这些基类封装了控件最基本的功能,可以提高代码的复用性。

     Control:
控件开发基类,所有控件都直接或间接继承该类。提供了各类控件通用属性和方法,如
唯一标志 ID 属性、可见性 Visible 等。
该类仅具有控件最基本的属性,扩展灵活性最强。
   WebControl:
WebControl 除了继承了 Control 的所有属性,还增加了布局、可访问性、外观样式等特 性;另外,对行为也扩充了好多属性。Control 和 WebControl 都用于开发简单控件(即单个控件或非组件控件)。一般在选择控件时,如果要开发的控件对外观布局和样式等控件特性要求比较高,则可以选择继承WebControl 要方便得多;反之,选用 Control 实现即可。如果一定要选用 Control 实现WebControl 的特性也是可以的,但要自己增加所需的属性,如布局属性 width 和 height , 实现起来会较麻烦。一般在基于 Web 的系统中用得最多,扩展灵活性也很强。

   CompositeControl

此类为 ASP.NET 2.0 版本时已经支持的一个控件基类。如果把现有控件聚合起来创建一个组合控件时,可以继承此类,此类默认实现了 INamingContainer 接口,并且对设计模式表现有较好的支持。后面会详细介绍其创建方法。一般用于将具有一定功能的多个控件集成为一个控件的情况。
  继承现有控件
把具有一定功能的成型控件,如 Label , Button ,甚至 GridView 等控件,作为新控件的 基类,并在此基础上扩展或改变(通过 override 重载其方法实现)其功能,满足业务需要。一般情况下开发一个基于 Web 平台的控件,比较常用的方法是从 WebControl 继承;

   注:此系列为《纵向切入ASP.NET 3.5控件和组件开发技术》的要点节选摘要!

转载于:https://www.cnblogs.com/wuxiaoqian726/articles/1909148.html

你可能感兴趣的:(控件基类的选择)