ASP.NET 数据访问概述
更新:2007 年 11 月
Web 应用程序通常访问用于存储和检索动态数据的数据源。可以通过编写代码来使用 System.Data 命名空间(通常称为 ADO.NET)和 System.Xml 命名空间中的类访问数据。此方法在 ASP.NET 的以前版本中很常见。
但是,ASP.NET 也允许您以声明的方式执行数据绑定。在包括如下方案的大多数常见数据方案中,此方法根本不需要任何代码:
选择和显示数据。
对数据进行排序、分页和缓存。
更新、插入和删除数据。
使用运行时参数筛选数据
使用参数创建主/详细信息方案。
ASP.NET 包括参与声明性数据绑定模型的两类服务器控件:数据源控件和数据绑定控件。这些控件管理无状态 Web 模型显示和更新 ASP.NET 网页中的数据所需的基础任务。因此,您不必了解页请求生命周期的详细信息即可执行数据绑定。
数据源控件
数据源控件是管理连接到数据源以及读取和写入数据等任务的 ASP.NET 控件。数据源控件不呈现任何用户界面,而是充当特定数据源(如数据库、业务对象或 XML 文件)与 ASP.NET 网页上的其他控件之间的中间方。数据源控件实现了丰富的数据检索和修改功能,其中包括查询、排序、分页、筛选、更新、删除以及插入。ASP.NET 包括下列数据源控件:
数据源控件 |
说明 |
---|---|
使您能够处理 Microsoft Access 数据库。 有关更多信息,请参见 AccessDataSource Web 服务器控件概述。 |
|
使用此控件,可以通过标记在 ASP.NET 网页中使用语言集成查询 (LINQ),从数据对象中检索和修改数据。支持自动生成选择、更新、插入和删除命令。该控件还支持排序、筛选和分页。 |
|
使您能够处理业务对象或其他类,并创建依赖于中间层对象来管理数据的 Web 应用程序。 有关更多信息,请参见 ObjectDataSource Web 服务器控件概述。 |
|
与 ASP.NET 站点导航结合使用。有关更多信息,请参见 ASP.NET 站点导航概述。 |
|
使您能够处理 ADO.NET 托管数据提供程序,该提供程序提供对 Microsoft SQL Server、OLE DB、ODBC 或 Oracle 数据库的访问。 有关更多信息,请参见 SqlDataSource Web 服务器控件概述。 |
|
使您能够处理 XML 文件,该 XML 文件对诸如 TreeView 或 Menu 控件等分层 ASP.NET 服务器控件极为有用。 有关更多信息,请参见 XmlDataSource Web 服务器控件概述。 |
还可以扩展数据源控件以支持其他的数据访问存储提供程序。
有关数据源控件的更多信息,请参见数据源控件概述。
数据绑定控件
数据绑定控件将数据以标记的形式呈现给请求数据的浏览器。数据绑定控件可以绑定到数据源控件,并自动在页请求生命周期的适当时间获取数据。数据绑定控件可以利用数据源控件提供的功能,包括排序、分页、缓存、筛选、更新、删除和插入。数据绑定控件通过其 DataSourceID 属性连接到数据源控件。
ASP.NET 包括下表中描述的数据绑定控件。
列表控件
以各种列表形式呈现数据。列表控件包括 BulletedList、CheckBoxList、DropDownList、ListBox 和 RadioButtonList 控件。AdRotator
将广告作为图像呈现在页上,用户可以单击该图像来转到与广告关联的 URL。有关更多信息,请参见 AdRotator Web 服务器控件概述。
DataList
以表的形式呈现数据。每一项都使用您定义的项模板呈现。有关更多信息,请参见 DataList Web 服务器控件概述。
DetailsView
以表格布局一次显示一个记录,并允许您编辑、删除和插入记录。您还可以翻阅多个记录。有关更多信息,请参见 DetailsView Web 服务器控件概述。
FormView
与 DetailsView 控件类似,但允许您为每一个记录定义一种自动格式的布局。对于单个记录,FormView 控件与 DataList 控件类似。有关更多信息,请参见 FormView Web 服务器控件概述。
GridView
以表的形式显示数据,并支持在不编写代码的情况下对数据进行编辑、更新、删除、排序和分页。说明: 有关更多信息,请参见 GridView Web 服务器控件概述。
ListView
使您能够使用模板来定义数据布局。支持自动排序、编辑、插入和删除操作。也可以通过使用关联的 DataPager 控件来启用分页。有关更多信息,请参见 ListView Web 服务器控件概述。
Menu
在可以包括子菜单的分层动态菜单中呈现数据。有关更多信息,请参见 菜单控件概述。
Repeater
以列表的形式呈现数据。每一项都使用您定义的项模板呈现。有关更多信息,请参见 Repeater Web 服务器控件概述。
TreeView
以可展开节点的分层树的形式呈现数据。有关更多信息,请参见 TreeView Web 服务器控件概述。
说明: |
---|
ASP.NET 1.0 版和 1.1 版中可用的 DataGrid 控件已由 GridView 控件取代,后者包括用于对数据进行排序、分页和修改的扩展功能。使用 DataGrid 控件的现有页仍可正常工作。与其他数据控件一样,DataGrid 控件也进行了增强,以便与数据源控件交互。 |
说明: |
---|
ListView 控件取代了 Repeater 控件和 DataList 控件。使用这些控件的现有页仍可正常运行。ListView 控件可简化很多常见方案的实现。 |
有关更多信息,请参见 ASP.NET 数据绑定 Web 服务器控件概述。
LINQ
语言集成查询 (LINQ) 提供一种用于在不同类型的数据源中查询和更新数据的统一编程模型,并将数据功能直接扩展到 C# 和 Visual Basic 语言中。LINQ 将面向对象的编程原则应用于关系数据。若要使用 LINQ,可以使用 LinqDataSource 控件。此外,还可以直接创建 LINQ 查询来访问网页中的数据。有关更多信息,请参见在 ASP.NET 中使用 LINQ。
动态数据
ASP.NET 动态数据是一个框架,使您能够快速创建数据驱动的 ASP.NET Web 应用程序。动态数据会在运行时自动发现数据模型并从该数据模型中确定 UI 行为。基架框架可立即提供一个用来显示和编辑数据的可操作网站。然后,可以使用元数据、模板或通过创建标准 ASP.NET 页来重写默认行为,从而自定义此基架。现有 ASP.NET Web 应用程序可以轻松地将部分基架逻辑集成到其网页中。有关动态数据的更多信息,请参见使用 ASP.NET 动态数据。