Welcome 微信登录

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

Scott Mitchell的ASP.NET 2.0数据操作教程之九:跨页面的主/从报表2010-08-08 翻译:cnblogs 立冬返回“”

导言

在前面的两篇教程中,我们看到了如何在单一页面中显示主/从报表, 它使用DropDownList显示主记录,使用GridView或DetailsView显示详细信息. 另 外一种常见的主/从报表模式是在一个页面中显示主记录而在另一个页面中显示详 细信息.互联网上的论坛,如www.asp.net ,就是该模式在实际应用中非常典型例子 . Asp.Net论坛由多个子论坛组成: Getting Started, Web Forms, Data Presentation Controls 等等. 每个子论坛包含多个主题, 每个主题又由多个贴 子组成. 在asp.net论坛主页上列出了这些子论坛,单击其中一个论坛会转到 ShowForum.aspx页面, 该页面列出了这个子论坛所包含的主题. 同样,单击一个主 题会转向ShowPost.aspx, 该页面显示所单击主题的贴子.

在这篇教程中, 我们将通过使用GridView列出供应商来实现该模式. GridView中的每行(一行便是 一个供应商)包含一个”查看产品”的链接. 该链接在单击时会转到另 外一个页面, 这个页面显示选中供应商的所有产品.

Step 1: 在 Filtering文件夹下添加 SupplierListMaster.aspx 和 ProductsForSupplierDetails.aspx

在第三篇教程中定义页面结构时我们在 BasicReporting, Filtering, 和 CustomFormatting文件夹中增加了好几个起始 页面.我们还没有为这篇教程中添加起始页,在Filtering文件夹中增加两个页面: SupplierListMaster.aspx 和 ProductsForSupplierDetails.aspx. SupplierListMaster.aspx将会列出主记录(供应商) ProductsForSupplierDetails.aspx将会显示选中供应商的产品.

在创建这 两个页面时注意要让它们关联Site.master母版页.

图1: 在Filtering文件夹下添加 SupplierListMaster.aspx 和 ProductsForSupplierDetails.aspx

此外, 添加了两个文件到该项目后, 要确保相应地更新站点地图文件Web.sitemap. 对于该篇教程只要简单地使用下面 的XML内容做为元素的子节点

提示:使用K. Scott Allen的免费的Visual Studio Site Map Macro可以帮助你在新增ASP.NET页时自动地更新站点地 图.

Step 2: SupplierListMaster.aspx中显示供应商列表

添加 SupplierListMaster.aspx 和 ProductsForSupplierDetails.aspx后,接下来就是 要在SupplierListMaster.aspx页面上创建一个显示供应商的GridView. 添加一个 GridView到页面上并绑定到一个新的ObjectDataSource, 这个ObjectDataSource 应该使用SuppliersBLL类的GetSuppliers()方法返回所有供应商.

图2: 选择 SuppliersBLL 类

图3: 配置ObjectDataSource 使用GetSuppliers() 方法