在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
本文旨在阐述ASP.NET 2.0新的数据绑定控件架构,并且逐一介绍每一个控件。 HierarchicalDataBoundControl HierarchicalDataBoundControl是一个抽象类,从BaseDataBound类派生,用来绑定树状数据。所有用来显示或编辑树状数据的绑定控件都应该从该类派生,例如TreeView以及Menu控件。 HierarchicalDataBoundControl实现的主要功能是从HierarchicalDataSourceControl中获取数据,派生类将不再需要关心如何从数据源中获取数据,而只需要关心其本身的业务逻辑即如何展示绑定数据。 1. HierarchicalDataBoundControl 接口
1public abstract class HierarchicalDataBoundControl : BaseDataBoundControl
2} ValidateDataSource
1protected override void ValidateDataSource(object dataSource)
2} 另外如果用户通过DataSourceID属性来设置数据源,当进行数据绑定时控件会尝试向数据源检索HierarchicalDataSourceView,如果检索不到,将抛出同样的异常。
1public interface IHierarchicalDataSource
2} 该接口将会返回一个HierarchicalDataSourceView对象,通过该对象我们就可以检索其背后的树状数据了。 GetData
public abstract IHierarchicalEnumerable Select();
ASP.NET 2.0通过IHierarchicalEnumerable和IHierarchyData两个接口来组织树状的数据结构,通过这两个接口我们可以检索到树状数据的每一个节点。
1public interface IHierarchicalEnumerable : IEnumerable
2 IHierarchicalEnumerable接口负责在兄弟节点之间进行枚举迭代,而IHierarchyData接口则负责在父子节点之间进行枚举迭代。 PerformSelect和PerformanDataBinding HierarchicalDataBoundControl重载了PerformSelect方法,该方法只是设定数据绑定内部标志以及触发绑定事件,而将数据绑定的操作委托给了新定义的虚方法PerformDataBinding。 从该类派生的子类只需要重载PerformDataBinding方法来进行数据展示及其本身业务逻辑的处理就可以了。具体实现应该是在PerformDataBinding方法中通过GetData方法获取HierarchicalDataSourceView对象,然后进行数据检索。 2. 页面生命周期 OnPagePreLoad
1protected override void OnPagePreLoad(object sender, EventArgs e)
2} 这一点跟DataBoundControlde处理是一样的。 OnLoad
1protected internal override void OnLoad(EventArgs e)
2} 3. 小结 |
请发表评论