快速业务通道

ASP.NET 2.0中层次数据的处理

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-22
些"chapter"内容节点来计算值。ASP.NET 2.0利用这种技术,使你能够通过组合表格式数据绑定控件简便地构造出丰富的、分层的数据显示方式。

<asp:DataList id="MyDataList" DataSourceId="MySource" runat="server">
<ItemTemplate>
 <img alt="Cover Image" src=''<%# "images/" + XPath("@ISBN") + ".gif" %>''>
 <%# XPath("@Title") %>
 ISBN: <%# XPath("@ISBN") %>
 Price: <%# XPath("@Price") %>
<asp:DataList id="MyDataList" DataSource=''<%# XPathSelect("chapter") %>''
runat="server">
 <ItemTemplate>
 Chapter <%# XPath("@num") %>:
 <%# XPath("@name") %>
 <%# XPath(".") %>
</ItemTemplate>
</asp:DataList>
</ItemTemplate>
</asp:DataList>

为了处理数据绑定控件对特定位置的节点的请求,XmlDataSource等层次数据源控件让层次中的每个节点与唯一的路径相对应。这样就带来了一些特性,例如TreeView的按需求填充(PopoulateOnDemand)特性,当某个节点被扩展的时候,来自数据源的节点才被发送到客户端,而不是一次性地发送所有的节点。它也允许你在页面代码中用这种方式配置数据源来显示特定位置的节点。不同的数据类型的路径语法是不同的,而且不能在代码中构造。但是,你可以使用TreeNode的DataPath属性来访问绑定到TreeView的节点的数据路径。由于XmlDataSource把Xpath表达式作为自己的数据路径语法,这些路径也可以指定给XmlDataSource的Xpath属性来进行节点列表的过滤。下面的例子演示了 这种技术,它使用XmlDataSource实现了一个主-从表。例子中有两个XmlDataSource控件,其中一个绑定到TreeView(主表控件),另一个绑定到DataList(从表控件)。当用户点击TreeView节点的时候,就检索它的DataPath属性,并把它赋予绑定到DataList的XmlDataSource控件,以显示被点击的节点的详细信息。

Sub MyTreeView_SelectedNodeChanged(sender As Object, e As EventArgs)
 Dim path As String = MyTreeView.SelectedNode.DataPath
 MyDetailsSource.XPath = path
 MyDataList.DataSource = MyDetailsSource
 MyDataList.DataBind()
End Sub

绑定到站点导航数据(Site Navigation)

站点导航数据是ASP.NET中的另外一种层次数据。ASP.NET 2.0不仅支持使用ASP.NET中的站点导航API编程访问站点地图数据,还支持使用SiteMapDataSource控件进行宣告式的数据绑定。当你把TreeView(或Menu)控件绑定到SiteMapDataSource的时候,站点地图的Text和Url属性可以绑定到TreeNode(或MenuItem)。尽管你可以用一个数据绑定集合来建立这种绑定,但是这样的操作不是必要的。TreeView和 Menu控件自动地把TreeNode或 MenuItem的Text和NavigateUrl属性绑定到相关的站点地图属性(这是使用SiteMapNode的INavigateUIData接口实现的)。当TreeView和Menu绑定到SiteMapDataSource的时候,它们还有一个特性,会自动地把SelectedNode或SelectedItem属性设置为站点地图中的当前节点。

下面的例子演示了一个绑定到SiteMapDataSource控件的TreeView。尽管这个例子使用的是数据绑定集合,但是如果你只需要绑定到节点的Text和Url属性,这样的操作就是没必要的。

<asp:SiteMapDataSource ID="SiteMapSource" runat="server"/>
 <asp:TreeView ID="MyTreeView" SkinId="BulletedList3"
 DataSourceId="SiteMapSource" runat="server">
 <Databindings>
<asp:

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号