| 网站首页 | 文章中心 | 电子书下载 | 矢量图库 | 视频教程 | 素材下载 | 程序代码下载 | JS代码 | 论坛 | 
常用软件类:
|杀毒安全 |联络聊天 |网络软件 |多媒体类 |系统工具 |图形图像 |系统工具 |应用软件 |行业软件
开发设计类:
|动画制作 |图像处理 |3D设计 |操作系统 |站长学院 |网络相关 |WEB设计 |数据库类 |程序开发
ASP.NET 2.0 数据访问控件功能详解
 



  ASP.NET 2.0

  ASP.NET 2.0 从几个方面极大地改进了基本模型。最突出的一方面是,通过 DataSource 隐藏了创建 SQLCommand、生成 DataAdapter 和填充 DataSet 的过程,或者由数据绑定向导自动配置这个过程。

  Configure DataSource Wizard 生成的代码能够连接数据源(数据库、平面文件、XML、对象),创建查询,并允许开发人员以简单的几个步骤指定参数。

  一旦创建了数据源,下一步就是将数据源连接到一个控件。这里的“连接”就是所谓的数据绑定。从数据源提取的值能够连接到控件属性或作为表格、列表或网格中的值使用,这些操作都无需编写任何代码。

  ASP.NET 数据控件

  ASP.NET 1.1 是为使用 ADO.NET API 和简化数据访问而设计的。ADO.NET 2.0 通过新增的一组控件和向导进一步简化了数据访问过程和编写代码的数量,这些控件和向导是针对数据识别的应用程序,为提高开发速度和简化开发过程而设计的。

  DataSource 控件

  新的 ASP.NET 2.0 数据访问系统的核心是 DataSource 控件。一个 DataSource 控件代表一个备份数据存储(数据库、对象、xml、消息队列等),能够在 Web 页面上声明性地表示出来。页面并不显示 DataSource,但是它确实可以为任何数据绑定的 UI 控件提供数据访问。为了支持 DataSource 并使用自动数据绑定,利用一个事件模型以便在更改数据时通知控件,各种 UI 控件都进行了重新设计。此外,数据源还提供了包括排序、分页、更新、删除和插入在内的功能,执行这些功能无需任何附加代码。

  最终,所有 DataSource 控件公开一个公共接口,因此,数据绑定控件无需了解连接细节(即连接到一个数据库还是一个 XML 文件)。每个 DataSource 还公开了特定于数据源的属性,因而对开发人员而言更为直观。例如,SqlDataSource 公开了 ConnectionStringSelectCommand 属性,而 XMLDataSource 则公开了定义源文件和任何架构的属性。在底层,所有数据源都创建特定于提供程序的基础 ADO.NET 对象,该对象是检索数据所需的。

  创建一个 DataSource

  在ASP.NET 2.0 中,DataSource 的子类是新增的数据控件中功能最强大的。它们提供了到数据库、XML 文件或其他数据源的声明性配置连接。使用控件从数据源检索和更新数据无需添加任何自定义代码。Configure DataSource Wizards 的图形化界面允许程序员定义相应的细节来配置数据源,几个简单的步骤就可以完成。ASP.NET 2.0 自动生成代码来连接资源,如果合适,创建基于参数的查询。自动生成的代码结果存储在一个 .ASPX 文件中。例如,在 .ASPX 文件中存储的 SQLDataSource 代码包含连接字符串的属性和 SQL 语句的属性。

<asp:sqldatasource id=SqlDataSource1 runat=server selectcommand=select customerid, companyname from customers providername=System.Data.OleDb connectionstring=Provider=SQLOLEDB.1;Integrated Security=SSPI; Initial Catalog=Northwind; Data Source=localhost; Auto Translate=True; Use Encryption for Data=False>
</asp:sqldatasource>


  当然,开发人员能够根据需要修改这些代码。例如,可以将提供程序名移动到 web.config 文件或其他中心位置。

  数据源类型

  ASP.NET 2.0 提供了几个独特的数据源对象,用于为数据绑定控件构造一个公共接口框架。数据源的对象用于操作不同的基础结构(从数据库、内存中的对象到 XML 文件),为控件提供抽象数据操作功能。

  AccessDataSource

  如果在应用程序中使用 Microsoft Access 数据库,则能够通过 System.Web.UI.WebControls.AccessDataSource 执行插入、更新和删除数据的操作。Access 数据库是提供基本关系存储的最小数据库。因为使用起来既简单又方便,所以许多小型的 Web 站点通过 Access 形成数据存储层。虽然 Access 不提供像 SQL Server 这样的关系数据库的所有功能,但是其简单性和易用性使 Access 非常适合应用于原型开发和快速应用程序开发 (RAD)。

  SqlDataSource

  为了提供一个更加健壮的数据库,综合利用 Microsoft SQL Server 提供的广泛功能,ASP.NET 2.0 提供了 SQLDataSourceSQLDataSource 的配置比 AccessDataSource 的更为复杂,SQLDataSource 用于企业级应用程序,这些应用程序需要一个真正的数据库管理系统 (DBMS) 所拥有的功能。

  ObjectDataSource

  System.Web.UI.WebControls.ObjectDataSource
用于实现一个数据访问层,从而提供更好的封装和抽象。ObjectDataSource 控件支持绑定到一个特定的数据层,而非绑定到一个数据库,其绑定方式与使用其他控件绑定数据库的方式相同。ObjectDataSource 控件能够绑定到任何一个方法,该方法返回一个 DataSet 对象或 IEnumerable 对象(例如,一个 DataReader 或类集合)。

<asp:objectdatasource id=ObjectDataSource runat=server typename=DAL.Customers selectmethod=GetOrders>
</asp:objectdatasource>


  ObjectDataSource 控件使用 Web 服务代理的方式与使用数据访问层的方式完全相同。换句话说,ObjectDataSource 处理设计正确的 Web 服务与处理一个关系数据库的方式相同。

  DataSetDataSource

  System.Web.UI.WebControls.DataSetDataSource 控件允许使用 XML 列表数据。列表数据以行和列排列。

<?xml version=1.0?>
<collection>
<book>
<title>cosmos</title>
<author>carl sagan</author>
<publisher>ballantine books</publisher>
</book>
<book>
<title>catwings</title>
<author>ursula k. le guin</author>
<publisher>scholastic</publisher>
</book>
</collection>


  要使用数据,只需设置 DataFile 属性,使其指向 XML 文件。

<asp:datasetdatasource id=Datasetdatasource1 runat=server datafile=collection.xml />


  数据源能够连接到任何列表控件,例如 DataGrid

  XmlDataSource

  XML 数据通常用于表示半结构化或层次化数据。使用 XML 文档作为数据源,可以从其他资源(例如,其他公司或现有应用程序)接收 XML 文档,并将 XML 数据格式化,以便与应用程序兼容。

  要配置一个 System.Web.UI.WebControls.XmlDataSource,必须指定 XML 文件的路径,如果 XML 需要传输数据,则还需指定 XSLT 样式表路径或 XPath 查询路径(可选)。

<asp:XmlDataSource ID=XmlDataSource1 Runat=server DataFile=~/xml/fruits.xml>
</asp:XmlDataSource>


  XMLDataSource 特别适用于拥有层次结构的控件,例如,树视图或数据列表。

<asp:TreeView ID=TreeView1 Runat=server DataSourceID=XmlDataSource1 ShowLines=True>
</asp:TreeView>


  以上两个列表说明了如何声明性地配置一个 XmlDataSource 和一个 TreeView 控件,使之呈现如图 2 所示的 XML 层次结构。

体验ASP.NET

图 2. TreeView 控件

  TreeView 控件自动生成标记来创建一个用户界面,支持用户单击父实体时展开节点。TreeView 控件通过 XMLDataSource 绑定到 fruits.xml 文件。

  SiteMapDataSource

  System.Web.UI.WebControls.SiteMapDataSource 控件能够在逻辑上(而非物理上)实现 Web 站点的导航。通过生成一个逻辑结构,导航不受文件物理地址变动的影响。即使页面物理位置改变,您也不必更改应用程序的导航结构。

  要使用 SiteMapDataSource,第一步是创建一个 XML 文件来映射 SiteMapNode 元素的层次结构,从而指定站点的导航结构。您可以将 XML 文件保存为 app.sitemap。

  当您在应用程序中使用 SiteMapDataSource 时,它将查找指定的 app.sitemap 文件。然后,SiteMapDataSource 连接到导航控件,实现逻辑导航。

体验ASP.NET

图 3. Home-> Articles-> Article 2 页面的详细路经跟踪

  数据绑定

  一旦创建了一个数据源,接下来是将数据源连接到一个控件。这里的“连接”就是所谓的数据绑定。ASP.NET v1.x 提供了一些数据绑定控件,例如 DataGridDataListDropDownList 等。ASP.NET 2.0 对改进数据绑定控件的概念作出了几个重要的创新:


1.

现在,当数据绑定控件绑定到一个数据源控件(通过 DataSourceID 属性)时,能够自动绑定本身。这使页面开发人员无需了解页面的生存周期,并且不必在此时显式调用 DataBind()。数据绑定控件能够自动完成这些工作,甚至能侦听数据源的更改事件。

2.

ASP.NET 2.0 引入了新的数据绑定控件,这些控件能自动使用数据源的功能,例如排序、分页、更新、插入和删除。

  在 ASP.NET v1.x 中,页面开发人员需要手动处理数据绑定控件事件,编写代码来执行这些操作。而在 ASP.NET 2.0 中,数据绑定控件直接使用数据源的功能。当然,页面开发人员仍能处理适当的事件以自定义这些操作的处理;例如,验证输入。

  ASP.NET 2.0 支持多种不同控件丰富的数据绑定。例如,能够将一个 XML 数据源绑定到 <ASP:DropDownList>、<ASP:DataList>、<ASP: GridView> 以及许多其他的数据控件。

上一页  [1] [2] [3] [4] 下一页


  • 上一篇文章:

  • 下一篇文章: 没有了
  • 相关文章