数据绑定和数据控件

Download Report

Transcript 数据绑定和数据控件

数据绑定
学习内容



数据绑定概述
SqlDataSource控件
数据服务器控件
数据绑定概述



数据绑定是ASP.NET提供的另外一种访问数据库
的方法。
与ADO.NET数据库访问技术不同的是:数据绑定
技术可以让程序员不关注数据库连接、数据库命
令以及如何格式化这些数据以显示在页面上等环
节,而是直接把数据绑定到HTML元素和Web控
件。
数据控件则是用来显示从数据库中获取的数据
数据绑定概述


数据绑定的原理是:首先要设置控件的数据源和
数据的显示格式,把这些设置完毕以后,控件就
会自动处理剩余的工作以把要显示的数据按照要
显示的格式显示在页面上。
ASP.NET数据绑定具有两种类型:既可以绑定到
简单的数据源,也可以绑定到复杂的数据源。
数据绑定概述
绑定到简单的数据源


简单的数据源包括代码中直接定义的变量、属性、表达式、
数据集和方法等,其实就是实现动态文本的一种的方式,
可以向ASP.NET页面文件中添加特殊的数据绑定表达式。
主要有四种数据绑定表达式:
(1) <%=XXX %>,它是内联引用方式,可以引用C#代码。
(2) <%# XXX %>,它可以引用.cs文件中的代码的字段,但这个
字段必须初始化后,在页面的Load事件中使用Page.DataBind方法
来实现。
(3) <%#$ XXX %>,它可以引用Web.config文件中预定义的字
段或者已注册的类。
(4) <%# Eval(XXX) %>,它类似于JavaScript,数据源也需要
绑定。
数据绑定概述
绑定到复杂的数据源

复杂的数据源通常包括列表控件和支持数据绑定的控件,
ASP.NET提供一系列的这类控件:
1. 列表控件:ListBox、DropDownList、CheckBoxList和
RadioButtonList等。
2. 复杂数据控件:GirdView、DetailsView、FormView和ListView
等。

它们的常规绑定步骤如下:
1.将用于显示数据的Web服务器控件添加到ASP.NET页面中。
2.将数据源对象赋给控件的DataSource属性。
3.执行控件的DataBind方法。
SqlDataSource控件
SqlDataSource控件

可以将 SqlDataSource控件和用于显示数据的其他控件(如
GridView、FormView和DetailsView控件)结合使用,使用很少的
代码或不使用代码就可以在ASP.NET网页中显示和操作数据。
SqlDataSource控件


SqlDataSource控件使用ADO.NET类与
ADO.NET支持的任何数据库进行交互。
SqlDataSource控件使用ADO.NET类提供的提
供器访问数据库,
在ASP.NET页面文件中,SqlDataSource控件定
义的标记同其他控件一样,示例如下:
<asp:SqlDataSource
ID="SqlDataSource1" runat="server" ...
/>
SqlDataSource控件

1.
2.
3.
SqlDataSource控件具有如下几个功能:
执行数据库操作命令 ,SelectCommand、
UpdateCommand、DeleteCommand 和
InsertCommand四个属性对应数据库操作的四个命令:
选择、更新、删除和插入,只需要把对应的SQL语句赋
予这四个属性,SqlDataSource控件即可完成对数据库
的操作。
返回DataSet或DataReader对象,通过设置数据源控
件的DataSourceMode属性,可以指定要返回的格式。
进行缓存 ,默认情况下不启用缓存。将EnableCaching
属性设置为true,便可以启用缓存。
SqlDataSource控件
SqlDataSource控件的属性
1.
2.
3.
4.
5.
6.
Select:方法所检索到的数据的时间。
ConnectionString:获取或设置特定于ADO.NET提供程序的连接字符
串,SqlDataSource控件使用该字符串连接基础数据库。
DeleteCommand:获取或设置SqlDataSource控件从基础数据库删
除数据所用的SQL 字符串。
InsertCommand:获取或设置SqlDataSource控件将数据插入基础数
据库所用的SQL字符串。
SelectCommand:获取或设置SqlDataSource控件从基础数据库检
索数据所用的SQL 字符串。
UpdateCommand:获取或设置SqlDataSource控件更新基础数据库
中的数据所用的SQL字符串。
SqlDataSource控件

1.
2.
3.
4.

SqlDataSource控件可以使用参数执行下列操
作:
提供用于数据检索的搜索条件;
提供要在数据存储区中插入、更新或删除的值;
提供用于排序、分页和筛选的值。
借助参数,使用少量自定义代码或不使用自定义
代码就可筛选数据和创建主/从应用程序。
可以从各种源中获取参数值。通过Parameter
对象,可以从Web服务器控件属性、Cookie、
会话状态、QueryString字段、用户配置文件属
性及其他源中提供值给参数化数据操作。
SqlDataSource控件
SqlDataSource控件的参数类型






ControlParameter: 将参数设置为ASP.NET网页中的
Control的属性值。
CookieParameter: 将参数设置为HttpCookie对象的
值。
FormParameter: 将参数设置为HTML窗体字段的值。
ProfileParameter: 将参数设置为当前用户配置文件
(Profile) 中的属性的值。
QueryStringParameter:将参数设置为QueryString
字段的值。使用QueryStringField属性指定
QueryString字段的名称。。
SessionParameter: 将参数设置为Session对象的值。
使用SessionField属性指定Session对象的名称。
数据服务器控件

数据服务器控件就是能够显示数据的控件,与那些简单格
式的列表控件不同,这些控件不但提供显示数据的丰富界
面(可以显示多行多列数据,还可以根据用户定义来显示),
还提供了修改、删除和插入数据的接口。
数据服务器控件

1.
2.
3.
4.
5.
6.
ASP.NET提供的数据服务器控件包括:
GridView,是一个全方位的网格控件,能够显示一整张表的数据,
它是ASP.NET中最为重要的数据控件。
DetailsView,是用来一次显示一条记录。
FormView,也是用来一次显示一条记录,与DetailsView不同的是,
FormView是基于模板的,可以使布局具有灵活性。
DataList,可用来自定义显示各行数据库信息,显示的格式在创建的
模板中定义。
Repeater,生成一系列单个项,可以使用模板定义页面上单个项的
布局,在页面运行时,该控件为数据源中的每个项重复相应的布局。
ListView,可以绑定从数据源返回的数据并显示它们,它会按照使用
模板和样式定义的格式显示数据。
数据服务器控件
GridView 控件

1.
2.
3.
4.
5.
使用GridView 控件,可以显示、编辑和删除来自不同数据源的数据,
GridView 控件具有以下几个功能:
绑定和显示数据。
对绑定其中的数据进行选择、排序、分页、编辑和删除。
自定义列和样式。
自定义用户界面元素。
在事件处理程序中加入代码来完成与GridView控件的交互。
数据服务器控件
1.
2.
3.
4.
5.
6.
7.
8.
9.
GridView控件的常用属性
AllowPaging:获取或设置指示是否启用分页的值。
AllowSorting:获取或设置指示是否启用排序的值。
AutoGenerateColumns:获取或设置一个值,该值指示是否为数据
源中的每一字段自动创建BoundColumn对象并在GridView控件中
显示这些对象。
Columns:获取表示GridView控件的各列的对象集合。
PageIndex:获取或设置当前显示页的索引。
DataSource:获取或设置源,该源包含用于填充控件中的项的值列
表。
PageCount:获取显示GridView控件中各项所需的总页数。
PageSize:获取或设置要在GridView控件的单页上显示的项数。
SelectedIndex:获取或设置GridView控件中选定项的索引。
数据服务器控件
GridView 控件的方法





DataBind:将数据源绑定到GridView控件。
DeleteRow:从数据源中删除位于指定索引位置
的记录。
IsBindableType:确定指定的数据类型是否能绑
定到GridView控件中的列。
Sort:根据指定的排序表达式和方向对GridView
控件进行排序。
UpdateRow:使用行的字段值更新位于指定行
索引位置的记录。
数据服务器控件

1.
2.
3.
4.
5.
6.
7.
8.
9.
GridView 控件的事件
PageIndexChanged :在单击某一页导航按钮时,但在GridView
控件处理分页操作之后发生。
RowCommand: 当单击GridView控件中的按钮时发生。
RowDataBound: 在GridView控件中将数据行绑定到数据时发生。
RowDeleted :在单击某一行的“删除”按钮时,但在GridView控
件删除该行之后发生。
RowEditing: 发生在单击某一行的“编辑”按钮以后,GridView
控件进入编辑模式之前。
RowUpdated: 发生在单击某一行的“更新”按钮,并且GridView
控件对该行进行更新之后。
SelectedIndexChanged :发生在单击某一行的“选择”按钮,
GridView控件对相应的选择操作进行处理之后。
SelectedIndexChanging: 发生在单击某一行的“选择”按钮以后,
GridView控件对相应的选择操作进行处理之前。
Sorted: 在单击用于列排序的超链接时,但在 GridView控件对相
应的排序操作进行处理之后发生。
数据服务器控件


1.
2.
3.
4.
5.
6.
7.
在GridView控件中绑定数据有两种方式:一是使用多值
绑定,二是使用数据源控件。
GridView控件的每一列的显示都需要实现定义。
GridView控件提供了几种类型的列以方便操作:
BoundField:显示数据源中某个字段的值,它是GridView控件的默
认列类型。
ButtonField:为GridView控件中的每个项显示一个命令按钮。
CheckBoxField:为GridView控件中的每一项显示一个复选框。
CommandField:显示用来执行选择、编辑和删除操作的预定义命
令按钮。
HyperLinkField:将数据源中某个字段的值显示为超链接。
ImagField:为GridView控件中的每一项显示一个图象。
TemplateField:根据指定的模版为GridView控件中每一项显示用
户定义的内容。
数据服务器控件



1.
2.
GridView控件支持对显示在其中进行排序,只需
要把属性AllowSorting设置为true即可。
对GridView控件进行自定义排序行为,可以在
Sorting事件中编写自定义的排序代码。
在Sorting事件处理程序中可以进行的操作:
自定义传递给数据源控件的排序表达式。
创建自己的排序逻辑。
数据控件



1.
2.
3.
4.
GridView控件提供了分页显示支持。
属性AllowPaging决定是否使用分页显示。
PagerSetting属性可以设置分页显示的模式,
可以通过设置PagerSettings类的Mode属性来
自定义分页模式。Mode属性的值包括:
NextPrevious:上一页按钮和下一页按钮模式。
NextPreviousFirstLast:上一页按钮、下一页按钮、第
一页按钮和最后一页按钮模式。
Numeric:可以直接访问页面的带编号的链接按钮模式。
NumericFirstLast:带编号的链接按钮、第一页链接按
钮和最后一页链接按钮模式。
数据服务器控件
DetailsView控件

DetailsView控件主要用来从与它联系的数据源
中一次显示、编辑、插入或删除一条记录。通常,
它将与GridView控件一起使用在主/详细方案中,
GridView控件用来显示主要的数据目录,而
DetailsView控件显示每条数据的详细信息。
数据服务器控件
ListView控件


ListView控件可以显示使用数据源控件或ADO.NET获得
的数据 。
使用模板和样式定义的格式显示数据。利用ListView控件,
可以逐项显示数据,也可以按组显示数据。
数据服务器控件

1.
2.
3.
4.
5.
6.
7.
ListView 控件具有以下特点:
支持绑定到数据源控件,例如SqlDataSource和
ObjectDataSource。
可通过用户定义的模板和样式自定义外观。
内置排序和选择功能。
内置更新、插入和删除功能。
支持通过使用DataPager控件进行分页的功能。
支持以编程方式访问ListView对象模型,从而可
以动态设置属性、处理事件。
支持多个键字段。
数据服务器控件


为了使ListView控件显示内容,必须为控
件的不同部分创建模板。用户需要根据不
同的需求创建相应的模板。
通常需要向模板中添加一些按钮,以允许
用户指定要执行的操作。通过设置按钮的
CommandName 属性,可以定义按钮将
执行的操作。