ASP.NET的第一个版本就已经建立了一组新的数据库绑定控件。有了这些控件的支持,数据的可视化和编辑就简单多了,其中一个最重要的控件就是DataGrid控件。但是这个控件也有很多缺点。它为数据的排序,分页和编辑提供了一些内置的功能,但必须手动实现。
而ASP.NET的新版本2.0中采用了一种新的方式来解决以前版本的诸多问题,并且提供了标准的功能。现在可以对任何数据源进行排序,分页和编辑----在大多数情况下不需要输入任何代码。由于几乎所有的动态WEB程序都要考虑到与数据库的交互,幸运的是在ASP.NET 2.0中,我们可以轻松的实现如下这些操作:
· 选择数据库中我们所需要的数据,并在页面中进行相应的显示。
· 利用GridView控件实现排序,分页和数据缓存等功能,这使我们得到的数据更加直观和有序。
· 更新,插入和删除数据是我们在日常开发中经常碰到的,GridView控件使得这一切变得更加高效和简单。
· 当数据量比较庞大时,如何快速的找到所需要的数据就需要考虑数据筛选了。在后文中我将详细介绍任何实现数据筛选功能。
由于本文主要是讨论数据存取方面的知识,因此我们先来介绍一下ASP.NET 2.0在这方面的新增功能:
· 数据源控件 -- ASP.NET 2.0 引入了声明性数据源控件,这些控件向页上的数据绑定控件公开来自后端存储(例如 SQL 数据库、中间层业务对象或 XML 文件)的数据。数据源控件还公开诸如排序、分页、缓存、更新、插入和删除数据等功能,数据绑定控件能够自动调用这些功能而无需编写任何的代码。
· 新的数据绑定控件 -- 除了保留ASP.NET 1.x 版中的一些数据绑定控件外,ASP.NET 2.0 还包括诸如 GridView、DetailsView、FormView、TreeView 和 Menu 等新的数据绑定控件,我们可以自定义这些控件以不同的方式开显示数据。GridView、DetailsView 和 FormView 控件还能自动调用数据源功能,使得我们可以更加简便的向数据
驱动页添加排序、分页和更新操作等功能。
· 数据控件参数 -- 数据源能够使用 ASP.NET 2.0 中新的数据控件参数对象从各种来源接受输入参数。使用这些参数对象可以轻松地向参数化数据操作提供服务器控件属性值、会话、应用程序、Cookie 和 querystring 字段以及用户配置文件属性。使用这些参数,只需很少的自定义代码或无需自定义代码就能支持筛选和主/详细信息方案。
· 改进的数据绑定语法 -- ASP.NET 2.0 中DataBinder.Eval 数据绑定语法已得到简化,并且我们还可以将双向数据绑定与控件属性相关联,以允许自动将值传递给数据源更新、插入或删除操作。对于分层的 XML 数据,ASP.NET 2.0 还包含一种基于 Xpath 的数据绑定语法。
· 使用 SQL Express 的本地文件数据库 -- 为简化开发,ASP.NET 2.0 现在支持在应用程序中连接到作为本地文件的 SQL Express 数据库的能力,从而消除仅为了执行开发工作而向服务器提供数据库的需要。当然,您仍然能够连接到基于服务器的 SQL 数据库。
ASP.NET 2.0已经增加了两种新的服务器控件来实现数据绑定模型。这两种新的服务器控件可以处理许多复杂的数据方案,这使得开发者无须理解数据绑定过程中的一系列运行机制,这样我们就可以把开发的重点放在程序的构架和性能完善上,而不是重复的代码编写过程上。
为了使你可以充分的理解数据绑定模型,现在我们重点来介绍一下这两种新的服务器控件:
数据源控件 数据源控件没有特定的呈现形式,而是表示特定的后端数据存储,例如数据库、业务对象、XML 文件或 XML Web services。数据源控件还支持针对数据的丰富功能(例如排序、分页、筛选、更新、删除和插入),数据绑定 UI 控件能够自动使用这些功能。数据源控件的其他优点包括数据自动绑定功能,无须再调用DataBind()方法,从而大大减少了所需要的代码量。在设计时其具有更多的扩展支持,并且保留了1.X版本的灵活性。
ASP.NET 2.0中现成的数据源控件如下:
名称 |
说明 |
SqlDataSource |
访问SQL Server,OLE DB,ODBC,Oracle和其他存在定制.NET Data Provider的数据库系统(提供程序可以是MySQL,FireBird等)。 |
ObjectDataSource |
支持绑定到中间层对象,例如数据访问层或业务组件。 |
AccessDataSource |
可以通过指定文件名来方便地操作Microsoft Access数据库。 |
SiteMapDataSource |
支持绑定到 ASP.NET 2.0 站点导航提供程序公开的层次结构。 |
XmlDataSource |
支持绑定到 XML 文件或文档。 |
数据绑定控件 数据绑定控件是将数据作为标记向发出请求的客户端设备或浏览器呈现的 UI 控件。数据绑定控件能够自动绑定到从数据源公开的数据,并在页请求生命周期中的适当时间获取数据。这些控件还可以选择利用数据源功能,例如排序、分页、筛选、更新、删除和插入。数据绑定控件通过其 DataSourceID 属性连接到数据源控件。您可能熟悉 ASP.NET 1.x 版中的一些数据绑定控件,例如 DataGrid、DataList、Repeater 和诸如 DropDownList 这样的列表控件。ASP.NET 2.0 还包含几个新的数据绑定控件,例如:
名称 |
说明 |
GridView |
以网格格式呈现数据。此控件是 DataGrid 控件的演变形式,并且能够自动利用数据源功能。 |
DetailsView |
在标签/值对的表格中呈现单个数据项,类似于 Microsoft Access 中的窗体视图。此控件也能自动利用数据源功能。 |
FormView |
在由自定义模板定义的窗体中一次呈现单个数据项。在标签/值对的表格中呈现单个数据项,类似于 Microsoft? Access 中的窗体视图。此控件也能自动利用数据源功能。 |
TreeView |
在可展开的节点的分层树视图中呈现数据。 |
Menu |
在分层动态菜单(包括弹出式菜单)中呈现数据. |