Presentation is loading. Please wait.

Presentation is loading. Please wait.

第8章 ASP.NET中的数据绑定.

Similar presentations


Presentation on theme: "第8章 ASP.NET中的数据绑定."— Presentation transcript:

1 第8章 ASP.NET中的数据绑定

2 本章内容 数据绑定概述 单值和列表控件的数据绑定 GridView控件 DataList和FormView控件

3 8.1 数据绑定概述 什么是数据绑定 ? 数据绑定在web系统开发中的作用? 在ASP.NET中进行数据绑定的基本原理和过程?

4 数据绑定 WEB系统的一个典型的特征是后台对数据的访问和处理与前台数据的显示分离,而前台显示是通过HTML来实现的 。
数据绑定实际上就是讲后台数据按照要求,根据某种样式、布局呈现到页面上的而过程。

5 数据绑定在web系统开发中的作用 Web系统是一种可扩展的三层架构 前台页面—中间层业务---后台数据
数据绑定完成了前台页面中关键的数据呈现作用

6 数据绑定的基本原理和过程 一种将数据呈现的最直接的方式是将需要显示的数据和HTML标记拼接成字符串并输出,但这种方案的缺点也是显而易见的,不但复杂而且难以重用,尤其是有大宗数据需要处理时。因此为了简化开发过程,ASP.NET环境中提供了多种不同的服务器端控件来帮助程序员更快速高效地完成数据的呈现。

7 数据绑定控件 单值绑定控件(如TextBox) 列表控件(如DropDownList)
复杂数据绑定控件(如GridView,FormView)

8 8.2 单值和列表控件的数据绑定 HTML标记和服务器控件,因此数据绑定实际上是在HTML标记中或服务器控件中设置要显示数据的过程。对于页面中的HTML标记,可以直接嵌入数据或绑定表达式来设置要显示的数据,而对于服务器控件来说,通常通过设置控件属性或指定数据源来完成数据的绑定,并控制其呈现的样式。常用的绑定表达式具有以下形式:<%#XXX%>,绑定表达式可以直接嵌入到前台页面代码中去,通常用于HTML标记中的数据显示或单值控件数据设置

9 8.2.1 单值绑定 例: <div> <%# SingleValueBindingStr + "1" %>
单值绑定 例: <div> <%# SingleValueBindingStr + "1" %> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:TextBox ID="TextBox2" runat="server" Text="<%# SingleValueBindingStr + 3 %>"></asp:TextBox> </div>

10 在上例中,我们首先用绑定表达式<%# SingleValueBindingStr + "1" %>直接嵌入到div标记中来设置HTML标记中的显示值,然后通过绑定表达式和后台设置控件属性两种方式绑定了TextBox控件的显示数据。

11 列表控件的数据绑定 列表控件有以下几种:DropDownList、ListBox、CheckBoxList、RadioButtonList、BulletedList等等 可以通过编程的方式为控件对象增加多个数据项,也可以直接在VWD2008环境提供的图形界面中编辑要显示的数据项列表。

12 8.3 GridView控件 GridView是一个功能强大的数据绑定控件,主要用于以表格形式呈现、编辑关系数据集。对应于关系数据集的结构,GridView控件以列为单位组织其所呈现的数据,除了普通的文本列,还提供多种不同的内置列样式,例如按钮列、图像列、复选框形式的数据列等等,可以通过设置GridView控件的绑定列属性以不同的样式呈现数据,或通过模板列自定义列的显示样式。

13 GridView的数据绑定 其基本的数据绑定方式与列表控件类似,首先设置数据源,后调用DataBind()方法。

14 设定GridView绑定列和模板列 通过设置GridView控件的绑定列属性使其呈现不同的列样式,实现数据的编辑和修改,或编辑模板列定制所需的列样式和功能。

15 GridView控件中的列及其类型 BoundField:以文字形式呈现数据的普通绑定列类型。
CheckBoxField:以复选框形式呈现数据,绑定到该类型的列数据应该具有布尔值。 HyperLinkField:以链接形式呈现数据,绑定到该类型的列数据应该是指向某个网站或网上资源的地址。 ImageField:以图片形式呈现数据。 ButtonField:按钮列,以按钮的形式呈现数据或进行数据的操作。例如删除记录的按钮列。 CommandField:系统内置的一些操作按钮列,可以实现对记录的编辑、修改、删除等操作。 TemplateField:模板列绑定到自定义的实现向模板,因而可以实现自定义列样式。

16 在实际应用的时候,我们可以根据需要显示的数据类型,选择要绑定的列类型并设置其映射到数据集的字段名称和呈现样式(设置绑定列后GridView中将只显示映射列数据,否则系统将默认以BoundField类型显示数据源表中的所有列)

17 GridView的排序 GridView控件提供了用于实现排序功能的接口,通过设置相关属性并实现排序事件的处理代码就可以完成排序功能。

18 GridView的分页 GridView控件提供了内置的分页功能,绑定数据后只要设置分页相关属性系统即可自动完成分页功能,我们只需在分页导航按钮的单击事件处理方法中添加代码,设置当前要显示的页索引并重新绑定数据即可。

19 8.4 DataList和FormView控件 DataList和FormView 控件以项为单位组织和呈现数据(GridView以列为单位),每一项对应于关系数据集的一条记录(行),通过定义和设置不同的项模板定制每一项的显示样式,绑定数据后控件将按照项模板重复显示数据源的每条记录。

20 8.4.1 DataList的数据绑定 DataList控件中通过自定义模板设置数据的显示样式,它支持如下模板类型
我们需要根据不同的需要定义不同类型的项模板,DataList控件根据项的运行时状态自动加载相应的模板显示数据,例如当某一项被选定后将会以SelectedItemTemplate模板呈现数据,编辑功能被激活时将以EditItemTemplate模板呈现数据。

21 ItemTemplate : AlternatingItemTemplate: SelectedItemTemplate: EditItemTemplate: HeaderTemplate 和FooterTemplate: SeparatorTemplate :

22 FormView控件的数据呈现和处理 FormView控件提供了内置的数据处理功能,只需绑定到支持这些功能的数据源控件,并进行配置,无需编写代码就可以实现对数据的分页和增删改功能。 要使用FormView内置的增删改功能需要为更新操作提供EditItemTemplate和InsertItemTemplate模板,FormView 控件显示指定的模板以提供允许用户修改记录内容的用户界面。

23 由于FormView控件的各个项通过自定义模板来呈现,因此控件并不提供内置的实现某一功能(如删除)的特殊按钮类型,而是通过按钮控件的CommandName属性与内置的命令相关联。FormView提供如下命令类型(区分大小写):

24 Edit:引发此命令控件转换到编辑模式,并用已定义的EditItemTemplate呈现数据。
New:引发此命令控件转换到插入模式,并用已定义的InsertItemTemplate呈现数据。 Update:此命令将使用用户在EditItemTemplate界面中的输入值在数据源中更新当前所显示的记录。引发ItemUpdating和ItemUpdated事件。 Insert:此命令用于将用户在InsertItemTemplate界面中的输入值在数据源中插入一条新的记录。引发ItemInserting和ItemInserted事件。 Delete:此命令删除当前显示的记录。引发ItemDeleting和ItemDeleted事件。 Cancel:在更新或插入操作中取消操作和放弃用户输入值,然后控件会自动转换到DefaultMode属性指定的模式。

25 在命令所引发的事件中,我们可以执行一些额外的操作,例如对于Update和Insert命令,因为ItemUpdating和ItemInserting事件是在更新或插入数据源之前触发的,可以在ItemUpdating和ItemInserting事件中先判断用户的输入值进行验证,满足要求后才访问数据库,否则取消操作。


Download ppt "第8章 ASP.NET中的数据绑定."

Similar presentations


Ads by Google