八、【扩展知识】数据绑定控件的应用
数据绑定控件和数据源控件
1、数据绑定控件:具有DataSource属性或DataSourceID属性,用于在UI上显示数据的一类控件。
2、数据源控件:名称以DataSource结尾,继承自System.Web.UI.DataSourceControl的一类控件。该类控件不提供界面,并且能够配合数据源控件进行数据绑定操作。
3、数据绑定控件和普通控件的作用和区别
(1)数据绑定控件:利用DataSource属性(或DataSourceID属性)和DataBind()方法显示数据
(2)普通控件:利用Text属性或其它属性赋值的方式显示数据
4、常见数据源控件:
(1)SqlDataSource:可以直接生成SQL语句并访问数据库;
(2)ObjectDataSource:配合三层使用,利用业务逻辑层,间接性的访问数据;
(3)SiteMapDataSource:配合站点地图文件和站点地图控件实现站点导航;
(4)LinqDataSource:配合强大的LINQ TO SQL类,能够很好地平衡功能性和复杂性;
5、数据绑定控件的特点:
(1)具有DataSource属性和/或DataSourceID属性
(2)利用DataBind()方法显示数据,而不能直接用来访问数据
6、数据源控件的特点:
(1)名称以DataSource结尾(而非具有DataSource属性)
(2)父类是:System.Web.UI.DataSourceControl
(3)只用来访问数据,而不能直接用来显示数据
SqlDataSource的概念
1、SqlDataSource:SQL数据源,可以直接生成SQL语句并访问数据库。
2、SqlDataSource使用了直接访问数据库的方式与数据交互,同时将交互结果利用界面上的“数据绑定控件”进行显示。
ObjectDataSource的概念
1、ObjectDataSource:对象数据源,利用业务逻辑对象访问数据
2、ObjectDataSource相对于SqlDataSource的优势在于:SqlDataSource直接生成SQL语句访问数据库,而ObjectDataSource提供了可供编程的数据访问方式
光棒效果
1、RowDataBound事件:行数据绑定事件。在GrdiView的每一行进行绑定完成之后进行。详细解释如下:
(1)每一行都进行一次,因此GridView的每次绑定都会多次触发该事件
(2)针对各种类型的行都触发,无论是数据行(显示数据的行)还是页眉(标题行)、页脚(汇总行)
(3)Bound是Bind的过去式,因此该事件发生于每一行绑定之后,此时每一行所绑定的数据是明确、已知的
2、GridView的RowDataBound事件的类型为GridViewRowEventArgs的回调参数e的Row属性:
(1)GridView在页面上显示为,e.Row则显示为
(2)e.Row的常用属性:
(a)e.Row.Attributes:的HTML属性的集合,键值对
(b)e.Row.Cells:中的的集合
(c)e.Row.CssClass:的class属性
(d)e.Row.DataItem:这一行绑定的数据项,可以简单理解成对应数据源中的一行数据或一个实体成员,object类型
(e)e.Row.DataItemIndex:这一行绑定的数据项在数据源集合中的下标
(f)e.Row.RowIndex:行下标
(g)e.Row.RowType:行类型(页眉?页脚?数据行?),枚举