ASP.NET控件开发基础(20)
两个抽象方法PerformSelect和ValidateDataSource由子类实现.
虽然你不需要对这两个类的实现了解很多,但你需要知道两个类为你做了什么. 1.BaseDataBoundControl类大致做了如下工作 定义了基本的DataSource和DataSourceID基本属性,我们称为数据源标识 其主要提供了两种不同做法的实现机制 (1)定义了DataSource,则会验证数据源的正确性即ValidateDataSource方法(此过程由子类完成),还需要手动调用DataBind方法 (2)定义了DataSourceID,则会自动调用DataBind方法 当定义了以上其中一个属性时,这个类便帮你做了以下执行过程,所以你还需要了解以下成员 OnDataPropertyChanged方法(当定义了数据源标识或其发生变化后) | RequiresDataBinding方法(确定要开始调用DataBind方法) | EnsureDataBound方法(判断如若定义DataSourceID属性,则执行DataBind方法,所以此步骤是关键点) | DataBind方法(在次方法中执行了PerformSelect方法检索数据并把数据绑定到控件,此过程由子类完成) 2.DataBoundControl类开始真正的与数据源控件开始交互,请看下面主要实现 (1)GetDataSource方法(检索与数据绑定控件关联的IDataSource接口,即从DataSourceID属性属性) | (2)GetData方法(从数据源控件检索数据源视图,这个方法是数据的主要来源) | (3)PerformSelect方法(从GetData方法中检索数据,然后调用PerformDataBinding方法) | (4)PerformDataBinding方法(将检索到的数据绑定到控件上,此方法为空实现,留给子类实现) 注意点:如果未设置DataSourceID属性,(1)(2)步骤可以省去,从(3)开始必然会执行. 一般情况下,简单的数据绑定控件留给我们做的只剩下第4个步骤PerformDataBinding方法,你只需要重写这个方法,获取控件要呈现的数据就完成了.其他的事情就不需要你操心了.说了这么多,还是来看看示例代码吧. 四.示例 代码来自asp.net2.0揭密,我把重复的定义删除了只留下PerformDataBinding方法 1.从DataBoundControl继承
2.定义属性
3.方法实现
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |