Scott Mitchell的ASP.NET 2.0数据操作教程之九:跨页面的主/从报表
底层数据, 可能通过 DataTextField 或 DataNavigateUrlFields指定Text或URL要从中获取数据的数据 字段. DataTextField只能设置为一个单一的数据字段; DataNavigateUrlFields 可以设置为一个以逗号分隔的数据字段列表. 我们需要让TEXT或URL基于当前行的 数据字段值和一些标记. 比如在这篇教程中,我们希望 HyperLinkField的链接URL 是ProductsForSupplierDetails.aspx?SupplierID=supplierID. 其中supplierID 是GridView的每个行的supplierID值. 注意我们需要静态值和数据驱动值. ProductsForSupplierDetails.aspx?SupplierID=这部分是静态值.而supplierID 部分便是数据驱动的, 它的值是每一行的SupplierID值.
要实现该功能, 给GridView添加一个HyperLinkField列, 它会为每个GridView行增加一个链接. 首先在GridView智能标记上单击编辑列链接. 然后在左上角的列表中选择 HyperLinkField并单击新增把HyperLinkField添加到GridView的字段列表 中. 图4: 添加 HyperLinkField 到GridView HyperLinkField可以被 配置为在每一个GridView行中使用相同的文本或URL值,或是让这些值基于绑定到 特定行的数据值. 要指定一个所有行都一样的静态值使用HyperLinkField的Text 或NavigateUrl属性. 因为我们想让每一行的链接文本一致,设置HyperLinkField 的Text属性为”查看产品”. 图5: 设置HyperLinkField的Text属性为”查看产品 ” 要让text 或URL基于绑定到GridView行的底层数据, 可能通过 DataTextField 或 DataNavigateUrlFields指定Text或URL要从中获取数据的数据 字段. DataTextField只能设置为一个单一的数据字段; DataNavigateUrlFields 可以设置为一个以逗号分隔的数据字段列表. 我们需要让TEXT或URL基于当前行的 数据字段值和一些标记. 比如在这篇教程中,我们希望 HyperLinkField的链接URL 是ProductsForSupplierDetails.aspx?SupplierID=supplierID. 其中supplierID 是GridView的每个行的supplierID值. 注意我们需要静态值和数据驱动值. ProductsForSupplierDetails.aspx?SupplierID=这部分是静态值.而supplierID 部分便是数据驱动的, 它的值是每一行的SupplierID值. 要指定静态值和 数据驱动值的混合物, 使用DataTextFormatString和 DataNavigateUrlFormatString属性. 在这些属性中按需要输入静态文本,要显示 DataTextField或DataNavigateUrlFields属性中特定的字段时使用{0}标记. 如果 DataNavigateUrlFields中有多个字段,在需要第一个字段时使用{0}, 第二个字段 使用{1},以此类推. 对于我们这篇教程来说, 我们需要设置 DataNavigateUrlFields为SupplierID, 因为我们需要使用该数据字段自定义每行 的链接. 图6: 配置HyperLinkField 使用合适的基于SupplierID 的链接地 址. 添加了HyperLinkField后, 可以自定义及重新排列GridView的字段. 下面是我做了修改后的标记 (markup): 在浏览器中访问一下 SupplierListMaster.aspx. 如图7所示, 页面列出了所有的供应商,每个供应商包 含”查看产品”链接. 单击”查看产品”链接会转到 ProductsForSupplierDetails.aspx, 并在查询字符串中传递供应商的SupplierID 值. 图 7: 每个供应商都包含”查看产品”链接. Step 3: 在ProductsForSupplierDetails.aspx上列出供应商的产品 SupplierListMaster.aspx页面使用户转到 ProductsForSupplierDetails.aspx, 并在查询字符串中传递选择的供应商的 SupplierID值. 本篇教程的最后一步是在ProductsForSupplierDetails.aspx 页 面上的GridView中显示产品. 要实现该功能首先添加GridView到 ProductsForSupplierDetails.aspx上,并使用一个新的命名为 ProductsBySupplierDataSource的ObjectDataSource |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |