Scott Mitchell的ASP.NET 2.0数据教程之四:使用ObjectDataSource展现数据

返回“ASP.NET 2.0数据教程目录”

导言

在完成了应用程序架构和页面的设计后,我们可以开始探讨如何实现多种多样的普通数据到报表展现的任务。前面我们已经了 解到如何在从数据访问层和业务逻辑层绑定数据到ASP.NET页面上的数据控件。在ASP.NET 1.x应用程序中,通过对数据控件的DataSource属性 赋值然后调用控件的DataBind()方法从而实现数据展现的方式在ASP.NET 2.0应用程序中可以继续使用。然而,ASP.NET 2.0的数据源控件提供 了一种新的方式,使用这些控件可以让你轻松从上文中创建的业务逻辑层中进行数据绑定,甚至不需要手写一行的代码。

ASP.NET 2.0 提供了五种内置的数据源控件:SqlDataSource、AccessDataSource,、ObjectDataSource、XmlDataSource、和SiteMapDataSource,尽管如果 有需要的话你还可以构建自己的自定义数据源控件(custom data source controls)。既然我们在前文中已经完成了应用程序示例的系统架构 ,基于已有的业务逻辑类我们将使用ObjectDataSource。


图1: ASP.NET 2.0包括五种内置的数据源控件

ObjectDataSource充当别的对象的代理。通过配置ObjectDataSource,我们指 定这些底层的对象,还有这些对象的方法如何映射到ObjectDataSource的Select、Insert、Update和Delete方法。一旦底层的对象被指定并且 其方法映射到ObjectDataSource的方法后,我们就可以把ObjectDataSource绑定到页面上的Data Web 服务器控件。ASP.NET提供了许多Data Web 服务器控件,包括GridView、DetailsView、RadioButtonList和DropDownList等等。在页面的生命周期中,Data Web 服务器控件可能需要 访问它所绑定的数据,这将通过调用ObjectDataSource的Select方法来实现;如果这个Data Web 服务器控件还支持插入、更新或者删除,那么 将调用ObjectDataSource的Insert、Update或者Delete方法。这些调用会通过ObjectDataSource被发送到适当的底层对象的方法,如下图所示 。


图2:ObjectDataSource充当一个代理

虽然ObjectDataSource被用来实现插入、更新或者删除数据,但暂时我们只集中讨论返回数据,以后的章节再探讨使用 ObjectDataSource和Data Web 服务器控件实现数据修改。

第一步:添加和配置ObjectDataSource控件

首先,打开 BasicReporting文件夹中的SimpleDisplay.aspx页面,切换到设计视图,从工具箱拖拽一个ObjectDataSource控件到页面。它在设计界面显示 为一个灰色的方块,这是因为它不产生任何的声明标记;它仅仅是通过调用制定的对象的方法存取数据。通过ObjectDataSource返回的数据可 以展现到Data Web 服务器控件,例如GridView、DetailsView、FormView等等。

注意:作为另一种选择,你也可以先在页面上添加一个 Data Web 服务器控件,然后“显示智能标记”,从“选择数据源”下拉框中选择〈新建数据源…〉进入数据源配 置向导来添加一个ObjectDataSource。

为了指定ObjectDataSource的底层对象并且把该对象的方法映射到ObjectDataSource的的方法, 可以点击ObjectDataSource的智能标记中的“配置数据源”链接进入数据源配置向导。


图3: 点击智能标记中的“配置数据源”链接

时间: 2024-10-30 05:25:18

Scott Mitchell的ASP.NET 2.0数据教程之四:使用ObjectDataSource展现数据的相关文章

Scott Mitchell的ASP.NET 2.0数据操作教程之十:使用GridView和DetailView实

Scott Mitchell 的ASP.NET 2.0数据操作教程之十:使用GridView和DetailView实现的主/从报表 返回"ASP.NET 2.0数据教程目录" 导言 在前面的教程我们看到了如何使用两个页面(一个主页,用于列出供应 商; 一个明细页,用于显示选定供应商提供的产品)创建主/从报表 . 这种两个页 面的报表格式也可以集中在一个页面上. 这篇教程将会使用一个GridView, 它的 每一行都包含产品的名称和单价以及一个选择按钮. 单击一个产品的选择按钮会 在同一

Scott Mitchell的ASP.NET 2.0数据操作教程之八:使用两个DropDownList过滤的主

Scott Mitchell 的ASP.NET 2.0数据操作教程之八:使用两个DropDownList过滤的主/从报表 返回"ASP.NET 2.0数据教程目录" 导言 在前面的指南中我们研究了如何显示一个简单的主/从报表, 该报 表使用DropDownList和GridView控件, DropDownList填充类别,GridView显示选定 类别的产品. 这类报表用于显示具有一对多关系的记录时非常合适, 同时它也可 以很容易的被扩展以显示多个一对多关系的数据. 比如, 一个订单系

Scott Mitchell的ASP.NET 2.0数据操作教程之七:使用DropDownList过滤的主/从

Scott Mitchell的ASP.NET 2.0数据操作教程之七:使用DropDownList过滤的主/从报表 返回"ASP.NET 2.0数据教程目录" 导言 主/从报表是一种很常见的报表, 这类报表中首先会显示一些主记 录. 然后用户可以深入(追溯)某条主记录来查看该主记录的详情. 主/从报表是显 示一对多关系的理想选择, 比如一个报表显示所有的产品类别,然后根据用户选择 的特定类别显示与之关联的产品. 另外, 主/从表在显示"宽"表(有 很多列的表)的详细

[翻译]Scott Mitchell 的ASP.NET 2.0数据教程_自学过程

Scott Mitchell 的ASP.NET 2.0数据教程目录索引 01.创建一个数据访问 02.创建一个业务逻辑层 03.母板页和站点导航 04.使用ObjectDataSource展现数据 05.声明参数 06.编程设置ObjectDataSource的参数值 07.使用DropDownList过滤的主/从报表 08.使用两个DropDownList过滤的主/从报表 09.跨页面的主/从报表 10.使用 GridView和DetailView实现的主/从报表 11.基于数据的自定义格式化

Scott Mitchell的ASP.NET 2.0数据操作教程之九:跨页面的主/从报表

返回"ASP.NET 2.0数据教程目录" 导言 在前面的两篇教程中,我们看到了如何在单一页面中显示主/从报表, 它使用DropDownList显示主记录,使用GridView或DetailsView显示详细信息. 另 外一种常见的主/从报表模式是在一个页面中显示主记录而在另一个页面中显示详 细信息.互联网上的论坛,如www.asp.net ,就是该模式在实际应用中非常典型例子 . Asp.Net论坛由多个子论坛组成: Getting Started, Web Forms, Data

Scott Mitchell的ASP.NET 2.0数据教程之一 创建一个数据访问层

返回"ASP.NET 2.0数据教程目录" 导言 作为web开发人员,我们的生活围绕着数据操作.我们建立数据库 来存储数据,写编码来访问和修改数据,设计网页来采集和汇总数据.本文是研 究在ASP.NET 2.0中实现这些常见的数据访问模式之技术的长篇系列教程的第一篇 .我们将从创建一个软件框架开始,这个框架的组成部分包括一个使用强类型的 DataSet的数据访问层(DAL),一个实施用户定义的业务规则的业务逻辑层(BLL), 以及一个由共享页面布局的ASP.NET网页组成的表现层.在打

Scott Mitchell的ASP.NET 2.0数据教程之十一:基于数据的自定义格式化

返回"ASP.NET 2.0数据教程目录" 原文地址: http://www.asp.net/learn/data-access/tutorial-11-cs.aspx 介绍 我们可以通过控制HeaderStyle, RowStyle, AlternatingRowStyle和其他 一些属性来改变GridView, DetailsView, 和 FormView的样式,比如cssClass, Font, BorderWidth, BorderStyle, BorderColor, Wi

Scott Mitchell的ASP.NET 2.0数据教程之六:编程设置ObjectDataSource的参数值

返回"ASP.NET 2.0数据教程目录" 导言 正如我们在上一节的教程中所看到的,有很多可供选择的方式把参数 的值传递到OjbectDataSource的方法里.假如参数值是采用硬编码方式,来源于 页面上的一个Web控件,又或者其他可被数据源Parameter对象读取的源,那么这 个值可以绑定到输入参数而不需要写一行的代码. 然而有些时候,参数值 来自某些在数据源的内置Parameter对象里还没有计算出来的源.假如我们的站点 支持我们的考虑那么我们也许希望参数基于当前登录用户.又或

Scott Mitchell的ASP.NET 2.0数据教程之五:声明参数

返回"ASP.NET 2.0数据教程目录" 导言 在上一章的教程中,我们看了GridView.DetailsView和FormView 绑定到OjbectDataSource控件显示数据,ObjectDataSource调用了类ProductsBLL 的GetProducts()方法.方法GetProducts()返回一个有Northwind数据库的 Products表的所有记录组成的强类型数据表.类ProductsBLL还包含了其它返回部 分数据的方法:GetProductByPro