ASP.NET控件开发基础(19)

豆豆网   技术应用频道   2007年09月02日  【字号: 收藏本文

内容摘要:上两篇讨论了基本数据绑定控件的实现步骤,基本上我们按着步骤来就可以做出简单的数据绑定控件了。过年前在看DataGrid的实现,本来想写这个的,但2.0出了GridView了,再说表格控件实现比较复杂,所以先放着。我们一起打开MSDN来看点别的,当然主题还是离不开数据绑定控件。

  本文示例源代码或素材下载

  上两篇讨论了基本数据绑定控件的实现步骤,基本上我们按着步骤来就可以做出简单的数据绑定控件了。过年前在看DataGrid的实现,本来想写这个的,但2.0出了GridView了,再说表格控件实现比较复杂,所以先放着。我们一起打开MSDN来看点别的,当然主题还是离不开数据绑定控件。

  一.数据绑定控件的模板

  打开MSDN一看,我们会发现DataList和DataGrid都不是直接继承自WebControl类的,而是继承自一个叫BaseDataList的类。唯独Repeater是直接继承自WebControl类的,Repeater的简单也就代表定义样式的灵活。DataList和DataGrid则是规规矩矩的经过加工的列表控件。

  再看看BaseDataList,其是一个抽象类。其为数据列表控件提供了公共的列表样式,属性,布局。

  并定义了两个抽象方法CreateControlHierarchy方法和PrepareControlHierarchy方法,留给子类实现,这两个方法上两篇,我们都认识过了。主要是因为定义了不同模板和样式。可以说是一个典型的模板类

  ASP.NET控件开发基础(19)

  如果你也需要写一个基于表格的数据绑定控件,可以跳过从WebControl继承,优先考虑从BaseDataList开始。如果这个抽象类无法满足需求,那你便放弃他。自己定义一个抽象类,定义公共的属性,方法等,这样对以后的扩展有利。当然一般情况下,我们的需求就够用了。

  这里我们可以结合设计模式的学习得出的一个结论:把公用的成员抽象出来

  说到这里,我们漏掉了一个数据绑定控件的一个大话题,列表绑定控件,如DropDownList,ListBox,CheckBoxList等

  下面来看看Repeater版本的DropDownList

责编:豆豆技术应用

正在加载评论...