知识大全 ASP.NET 2.0 中的数据源控件

Posted

篇首语:百日连阴雨,总有一朝晴。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ASP.NET 2.0 中的数据源控件相关的知识,希望对你有一定的参考价值。

ASP.NET 2.0 中的数据源控件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  ASP NET 引入了一系列可以改善数据访问的新工具 包括几个数据源和数据绑定控件 新增种类的数据源控件可以消除 ASP NET x 中要求的大量重复性代码 例如 您可以很容易地将 SQL 语句或存储过程与数据源控件相关联 并且将它们绑定到数据绑定控件 更令人感到印象深刻的是 通过 ObjectDataSource 控件可以简化开发和减少代码 并且仍然可以在 n 层体系结构的不同层中抽象业务和数据访问逻辑     在 NET 问世以前 用传统的 ASP 生成数据网格通常需要编写大量的代码 以便在遍历 ADO 记录集的同时即时生成 HTML 表 ASP NET x 通过允许您将基于 XML 的 DataSet 绑定到 ASP NET DataGrid 控件 从而使该类型的开发变得更加容易 这就减少了生成网格所必需的代码 但是 传统的 ASP 和 ASP NET x 都要求代码实现分页 排序 编辑和行选择功能 通过 ASP NET 中的改进功能 可以显著减少这些代码的数量 以产生带有完整分页 排序和编辑功能并填充了数据的网格     在这一期的 Data Points 中 我将首先演示通过 ASP NET 并使用 SqlDataSource 和一些新的数据绑定控件开发 Web 应用程序是多么容易 请注意 我在此使用的是 Beta 版本     大多数企业应用程序都是在多层体系结构之上生成的 该体系结构有一个用于存放业务逻辑的中间层 以及一个使用一个或多个后端数据库的数据访问层 我将讨论 ObjectDataSource 可以多么理想地与现有的多层组件集成 通过将 ObjectDataSource 控件链接到业务对象 您可以充分利用现有的多层体系结构来生成完善的 Web UI 并且能够显著减少代码 ObjectDataSource 控件还包含一些特殊的属性 使您可以绑定到 ASP NET 和 ADO NET 中新近增强的强类型 DataSet 和数据组件 ASP NET 中的其他新功能和改进包括新增的双向绑定表达式 增强的缓存 以及几个新增的可以数据绑定到新的数据源控件的 ASP NET 控件      数据绑定控件    要使用数据源控件 必须具有一个用来将它们绑定到的数据绑定控件 在 ASP NET 中有几个新的数据绑定控件 包括 GridView DetailsView 和 FormView 控件 如果您喜欢 ASP NET x DataGrid 控件 那么您也会喜欢 ASP NET GridView 控件 GridView 在本质上类似于 DataGrid 因为它可以绑定到新的数据源控件 并且可以用来实现排序 编辑和分页 — 它们需要的代码都比 DataGrid 少得多(有关 GridView 的详细信息 请参阅 Dino Esposito 在 MSDN?Magazine 的 年 月刊中发表的文章)     要将 GridView 绑定到数据源控件 需要将 GridView 的 DataSourceID 属性设置为数据源控件的 ID 还可以设置 GridView 的其他几个属性来增强外观和用户交互(我将在稍后的示例中加以演示)     <asp:GridView ID= gvwOrders Runat= server   DataSourceID= sdsOrdersDataSource   AutoGenerateColumns= True >    其他控件(例如 DropDownList)也可以绑定到数据源控件 例如 DropDownList 控件可以绑定到检索雇员列表的 SqlDataSource 控件 雇员的全名可以显示在 DropDownList 中 而 EmployeeID 可以作为控件的基础数据值字段绑定到该控件 以下示例定义了一个 DropDownList 它将显示可供选择的客户名称的列表 客户数据被绑定到一个名为 sdsCustomerDataSource 的 SqlDataSource 控件 该控件可获得客户的 CompanyName 和 CustomerID 字段的列表     <asp:DropDownList ID= ddlCustomers Runat= server AutoPostBack= True   DataSourceID= sdsCustomersDataSource   DataTextField= CompanyName   DataValueField= CustomerID >  </asp:DropDownList>    在 ASP NET 中 将控件绑定到数据源控件非常简单 并且不需要任何处于代码隐藏中的代码 但是 如果您愿意 仍然可以编写代码以显式绑定到控件 实际上 数据绑定控件的数据源和 DataMember 属性与 ASP NET x 相比已经得到了改进      数据源控件    在 ASP NET 中有几个新的数据源控件 例如 SqlDataSource ObjectDataSource XmlDataSource AccessDataSource 和 SiteMapDataSource(如图 所示) 它们全都可以用来从它们各自类型的数据源中检索数据 并且可以绑定到各种数据绑定控件 数据源控件减少了为检索和绑定数据甚至对数据进行排序 分页或编辑而需要编写的自定义代码的数量     每个数据源控件都具有类似的属性 以便可以与其各自的数据源进行交互 生成 SiteMapDataSource 和 XmlDataSource 是为了检索分层数据 而生成其他数据源控件是为了检索带有列和行的基于集合的数据     专门生成 AccessDataSource 以便从 Access 数据库中检索数据 SqlDataSource 听起来好像只能使用 SQL Server? 但实际情况不是这样的 它实际上可以用来从任何 OLE DB 或符合 ODBC 的数据源中检索数据      命令类型和参数    SqlDataSource 控件具有四个命令属性 您可以设置这些属性以告诉 SqlDataSource 如何获得 插入 更新和删除它的数据 可以将 SelectCommand 属性设置为 SQL 语句或存储过程 在任何一种情况下 都可以根据需要传入参数 InsertCommand UpdateCommand 和 DeleteCommand 属性用于告诉 SqlDataSource 使用哪些 SQL 语句(或存储过程)来修改基础数据库中的数据 图  中的代码示例显示了一个 SqlDataSource 它将它的 SelectCommand 和 UpdateCommand 属性设置为参数化的 SQL 语句 请注意 UpdateParameters 使用 Parameter 元素来指示要用于参数的字段的名称和数据类型 在将 GridView 绑定到该 SqlDataSource 以后 这些 UpdateParameters 值就被绑定到受影响行的具有相同名称的列     您自己对此进行试验的最简单方式是 在 Visual Studio? 中创建一个 Web 窗体 连接到服务器资源管理器窗口中的本地 SQL Server Northwind 数据库 然后将一个表拖到该 Web 窗体 这会自动创建一个 SqlDataSource 控件以及一个 GridView Visual Studio 会自动将 SqlDataSource 控件的 ProviderName 和 ConnectionString 属性设置为 SQL Server Northwind 数据库 而且 所有四个命令属性都将被设置为适当的 SQL 语句 然后 您为编辑该 Web 窗体而必须完成的所有工作就是 使用智能标记来选中 Enable Editing 复选框(参见图 )    >   >  数据源控件还可以使用来自其他控件的参数 例如 数据源控件可以检索给定客户的所有订单 在这种情况下 CustomerID 可以是传递给 SqlDataSource 控件的 SelectCommand 属性的 SQL 语句或存储过程的参数 还可以从其他控件(例如 DropDownList)检索 CustomerID 并将其直接传递到 SqlDataSource 控件的 SQL SelectCommand 中     您可以将控件的值直接链接到 SqlDataSource 控件的任一 SQL 语句(SelectCommand InsertCommand UpdateCommand 或 DeleteCommand)的参数 还可以指定究竟要将控件的哪个属性用于该参数 例如 如果您在上一个示例中不需要 DropDownList 的默认属性 而是需要它的 DataTextField 则可以将 ControlParameter 的 PropertyName 属性设置为 DataTextField     除了 ControlParameter 以外 还可以将其他参数类型用于数据源控件 如果您要使用新的 ASP NET 个性化功能 则可以使用 ProfileParameter 从配置文件对象中检索参数的值 接下来 还有几个从标准 Request 对象的集合中检索它们的数据的参数对象类型 例如 CookieParameter 可以用来从 Cookie 中检索参数的值 QueryStringParameter 从任意请求字符串变量中获得它的值 而 FormParameter 从 HTML 窗体的输入字段中获得它的值 最后 SessionParameter 可以用来从会话变量中检索它的值 这些类型的参数为数据源控件提供了多个有关如何设置它们的参数值的选项      SqlDataSource 示例    既然我已经完成了概述 那么我将对使用 SqlDataSource 和 ObjectDataSource 来检索和修改数据进行一下对比 SqlDataSource 控件(它使用 ADO NET DbProviderFactory 对象)具有将它直接链接到 OLE DB 或 ODBC 数据源的属性 当加载包含链接到 SqlDataSource 的数据绑定控件的 ASP NET 页时 SqlDataSource 直接与基础数据库进行通信 因而 SqlDataSourceData 源控件不与现有的业务对象集成     为了查看 SqlDataSource 是如何操作的 让我们先观察一下 Orders_SDS aspx 页(参见图 ) 有一个 DropDownList 控件 它绑定到一个从 Northwind 数据库中检索客户列表的 SqlDataSource 源控件    >   >  还有另外一个名为 sdsOrdersDataSource 的 SqlDataSource 它用于检索选定客户的所有订单 图 中的代码(摘自 Orders_SDS aspx — 它可在下载中得到)显示了两个 SqlDataSource 控 cha138/Article/program/net/201311/13863

相关参考

知识大全 ASP.NET入门教程 7.2 ASP.NET 2.0的数据控件

ASP.NET入门教程7.2ASP.NET2.0的数据控件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一

知识大全 组合ASP.NET 2.0数据控件构建强大用户接口

组合ASP.NET2.0数据控件构建强大用户接口  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 ASP.NET 2.0高级数据处理之处理控件事件

ASP.NET2.0高级数据处理之处理控件事件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!在前面

知识大全 抢先试用ASP.NET 2.0中的新型安全控件

抢先试用ASP.NET2.0中的新型安全控件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一引

知识大全 ASP.NET 2.0高级控件之FileUpload控件

ASP.NET2.0高级控件之FileUpload控件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 ASP.NET 2.0服务器控件之验证控件示例

ASP.NET2.0服务器控件之验证控件示例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在上

知识大全 ASP.NET 2.0中实现模板中的数据绑定

ASP.NET2.0中实现模板中的数据绑定  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  模板化

知识大全 Asp.net 2.0 自定义控件开发

Asp.net2.0自定义控件开发  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  (一)概述  

知识大全 ASP.NET 2.0移动开发之列表控件

ASP.NET2.0移动开发之列表控件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!概述  在很多

知识大全 ASP.NET 2.0服务器控件开发精要

ASP.NET2.0服务器控件开发精要  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  利用ASP