快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-21

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

导言

在前面的两篇教程中,我们看到了如何在单一页面中显示主/从报表, 它使用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母版页.

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

图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()方法返回所有供应商.

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

图2: 选择 SuppliersBLL 类

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

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

我们需 要在每个GridView行中包含一个”查看产品”链接,单击时该链接会转 到ProductsForSupplierDetails.aspx页面, 并在查询字符串(querystring)传递 选定行的SupplierID值.比如如果用户单击了供应商Tokyo Traders(SupplierID值 为4)的”查看产品”链接,将会转到 ProductsForSupplierDetails.aspx?SupplierID=4.

要实现该功能, 给 GridView添加一个HyperLinkField列, 它会为每个GridView行增加一个链接. 首 先在GridView智能标记上单击编辑列链接. 然后在左上角的列表中选择 HyperLinkField并单击新增把HyperLinkField添加到GridView的字段列表 中.

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

图4: 添加 HyperLinkField 到GridView

HyperLinkField可以被 配置为在每一个GridView行中使用相同的文本或URL值,或是让这些值基于绑定到 特定行的数据值. 要指定一个所有行都一样的静态值使用HyperLinkField的Text 或NavigateUrl属性. 因为我们想让每一行的链接文本一致,设置HyperLinkField 的Text属性为”查看产品”.

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

图5: 设置HyperLinkField的Text属性为”查看产品 ”

要让text 或URL基于绑定到GridView行的

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号