(二)C# 数据绑定

数据绑定是程序员只需做少量工作就可以用数据库中的数据填充WindowsWeb控件的一种技术。

数据绑定有两点要求:数据源和要绑定数据的控件。数据源包括:数据库连接,对象,来自Web服务的数据。

1、 绑定到数据源(Windows应用程序)

可以将数据绑定到很多控件,但使用向导只能绑定到以下控件:

控件

说明

列表控件

包括ListBoxComboBox,显示单行数据;

DataGridView

以类似表格的格式显示数据;

BindingNavigator

在表中的多条记录之间导航;

详细视图

由基本控件(如TextBoxLabel)组成,显示单行数据。

 

2、 BindingSource控件

BindingSource控件充当数据绑定控件和数据源之前的中介。它提供了一个通用接口,其中包含控件绑定到数据源时所需的所有功能。数据源可以设计成任何形式,只要它能够与BindingSource控件进行通信。这意味着可以使用非数据库数据源,或使用极其复杂的数据访问机制的自定义数据源。

3、 ASP.NET的数据绑定

Windows应用程序一样,ASP.Net中的数据绑定依赖于连接,数据源和数据绑定控件。与Windows应用程序不同的是,ASP.NET中没有BindingSource控件作为数据源与数据绑定控件之间的中介,且数据绑定通常不使用类型化数据集,如果需要使用的话要求使用编程式数据访问而不是声明式数据绑定。

 

ASP.NET的数据源控件:

数据源控件

说明

SqlDataSource

SQL Server数据库交换数据;

AccessDataSource

连接到存储在Microsoft Acess数据库中的数据;

ObjectDataSource

暴露存储在对象中的数据,以便数据绑定;

XmlDataSource

绑定到存储在XML文件中的数据;

SiteDataSource

暴露Web应用程序的网站地图中的数据,从而能够动态地显示生成的导航控件、当前位置等。

 

ASP.NET数据显示控件:

控件

说明

GridView

以表格形式显示多行数据

DataList

显示多条记录,但与GridView不同。它按顺序显示每行中的所有信息。

Repeater

其实际上是DataList的简化版。它提供只读视图,程序员完全可以控件输出数据的HTMLRepeater不提供多种布局,而是允许使用一组基本模板来控制其外观,然后只输出指定的HTML,还可以实现分页、数据编辑等功能。

FormView

显示单行数据,支持分页。支持多种模板。在所有情况下,生成的FormViewDataList都很像。

DetailsView

FormView类似,也显示一条记录,支持自动分页,数据编辑。这两个控件的主要区别在于,DetailsView将一行数据显示为两列,左边为列名,右边为列值。

 

模板:

模板是将绑定数据显示为HTML的方式,由HTMLASP.NET代码组成,是独立的可重用单元。对于数据绑定,模板包含的最重要的内容是数据绑表达式。数据绑定表达式是一个占位符,可动态地用于在模板的特定位置插入绑定的数据,还在ASP.NET控件的属性与数据列之间提供了双向链接。

最常用的模板是ItemTemplate。它用于DataListRepeaterFormView等控件,将数据表中的一行显示为HTML

完整的模板列表如下:

模板

说明

ItemTemplate

控制列表控件中各个元素的输出,或只显示一个元素的控件的主元素显示区域;

AlternatingItemTemplate

替换ItemTemplate模板,用于选中的元素;

SelectedItemTemplate

替换ItemTemplate模板,用于选中的元素;

EditItemTemplate

替换ItemTemplate模板,用于编辑模式的元素;

InsertItemTemplate

添加新元素时使用该模板;

HeaderTemplate

包含要在列表元素前,或只显示一个元素的控件的主元素内容前生成的代码。数据绑定表达式不会绑定到这个模板中的元素;

FooterTemplate

包含要在列表元素后,或只显示一个元素的控件的主元素内容后生成的代码。数据绑定表达式不会绑定到这个模板中的元素;

SeparateTemplate

包含要在列表中每个元素前生成的HTML代码。数据绑定表达式不会绑定到这个模板中的元素;

EmptyDataTemplate

如果元素不包含数据,则生成这个模板的内容而不是ItemTemplate的内容。数据绑定表达式不会绑定到这个模板中的元素,因为这个元素是空的;

PaperTemplate

用于显示数据绑定控件的分页控件的HTML。其使用相当复杂。

 

 

下表列出数据绑定控件可使用的模板:

模板

GridView

DataList

Repeater

FormView

DetailsView

ItemTemplate

 

 

AlternatingItemTemplate

 

 

 

SelectedItemTemplate

 

 

 

 

EditItemTemplate

 

 

 

InsertItemTemplate

 

 

 

 

HeaderTemplate

 

FooterTemplate

 

SeparateTemplate

 

 

 

EmptyDataTemplate

 

 

PaperTemplate

 

 

posted @ 2009-07-04 15:09  烈火★寒冰  阅读(1768)  评论(0编辑  收藏  举报