快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

澳门威泥斯人_博格自动化网进入



1. 小序

前几回义务里我们开拓的星级控件只能显示一个条款的评分,在现实生活中, 常常会碰到必要向用户展示一系列数据的评分状态,例如下图所示:

本次义务里,我们将一路开拓这样一个控件。

广告光阴——近来在考试测验写英文文澳门威泥斯人章,申请了一个英文博客www.dev6.cn,欢 迎大年夜家留下墨宝

2. 阐发

经由过程上图可以看到,该自定义控件是一系列数据评分等级的列澳门威泥斯人表,很显然必要 作为一个数据绑定控件来实现才可以机动的显示多条数据,并且在该列表上方显 示了标题和当前的日期,为了容许用户机动的定义标题和二级标题(当前日期) ,有需要引入模版的观点,由用户编辑模版,终极按照模版内容显示。如斯看来 再应用DataBoundControl作为自定义控件的基类就不太得当了,由于我们要在该 控件中包孕多个子控件,那么我们应该选择哪个类作为基类?

回忆一下第六天的义务中数据绑定控件的类关系图,此中有一个承袭自 DataBoudControl类的CompositeDataBoundControl类,该类是.NET Framework 2.0中新增的一个类,用作绑定到数据源中的数据办事器控件的基类,该定义定义 如下:

public abstract class CompositeDataBoundControl :

DataBoundControl, INamingContainer

可以看到,该在只是在承袭DataBoundControl类的根基上实现了 INamingContainer,这意味着该类所包孕的子控件都邑天生独一的ID属性。

然则CompositeDataBoundControl是若何实现数据绑定的呢,换句话说,假如 某一个页面包孕了一个繁杂数据绑定控件,在某一个办事器端控件引起回发后, 若何确保数据绑定控件能精确的被添补呢?按照设计,ASP.NET中的数据绑定组合 控件只能从数据绑定中获取数据,并且不会缓存任何绑定的数据,是以,必要提 供一个特殊的措施来处置惩罚回发事故。

再次回首一下Da澳门威泥斯人taBoundControl这个类,我们来阐发一下数据是若何被显示出 来的。在DataBoundControl类上重载了BaseDataBoundControl类上定义的 PerformSelect措施,该措施如下所示:

protected override void PerformSelect()

{

if (this.DataSourceID.Len澳门威泥斯人gth == 0)

{

this.OnDataBinding(EventArgs.Empty);

}

DataSourceView data澳门威泥斯人 = this.GetData();

this._arguments = this.CreateDataSourceSelectArguments();

this._ignoreDataSourceViewChanged = true;

base.RequiresDataBinding = false;

this.MarkAsDataBound();

data.Select(this._arguments, new

DataSourceViewSelectCallback(this.OnDataSourceViewSelectCallback));

}

共9页:

上一页1

2

3

4

5

6

7

8

9

下一页

您可能还会对下面的文章感兴趣: