返回“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: 点击智能标记中的“配置数据源”链接