知识大全 ASP.NET中使用Treeview和XML

Posted 结点

篇首语:丈夫志四海,万里犹比邻。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ASP.NET中使用Treeview和XML相关的知识,希望对你有一定的参考价值。

ASP.NET中使用Treeview和XML  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  以前 在WEB页面中如果想使用树形控件的话 往往会有些麻烦 有时甚至要自己写代码来达到用树形列表显示数据的目的 在中 我们可以很方便地使用由微软提供的Internet Exploer Web Controls控件来实现树形列表 在微软提供的这套Internet Exploere Web Controls控件集合中 包括有MultiPage TabStrip TOOLbar Treeview控件 在这篇文章中 我们来看在中如何使用Treeview控件和XML来实现树形列表     微软的这套控件可以在x?tabindex= &tabid= 中下载 下载后运行setup安装就可以了 现在我们来试下用Treeview控件做个简单的例子     在中新建一个WEB工程 之后在工具箱中 鼠标右键弹出的菜单中 选择 添加新项 在自定义工具箱中 选择TREEVIEW控件(注意选择的是命名空间为Microsoft Internet Exploere web control的命名空间) 按确定后 就可以在工具箱中出现Treeview控件了     接着 将treeview控件拖拉到窗体中 切换到HTML视图 这时会发现有如下代码     <%@ Register TagPrefix= ie   Namespace= Microsoft Web UI WebControls   Assembly= Microsoft Web UI WebControls %>    当然 你可以改变TagPrefix的标记值 比如 改为FooBar 那么以后在引用Treeview控件时 就用如下方式引用     <FooBar:TreeView runat= server />    现在 我们可以通过点选Treeview控件的属性框中的nodes属性 来为该树添加各类结点了 由于比较简单 这里不详细讲述 下面是添加完各类结点后的代码     <form runat= server >  <ie:TreeView runat= server >  <ie:TreeNode Text= Isaac Gibson Expanded= True >  <ie:TreeNode Text= Birth />  <ie:TreeNode Text= Death />  <ie:TreeNode Text= Spouse >  <ie:TreeNode Text= Ritty Gibson />  <ie:TreeNode Text= Married />  <ie:TreeNode Text= Children >  <ie:TreeNode Text= Phoebe Gibson >  <ie:TreeNode Text= Birth />  <ie:TreeNode Text= Death />  <ie:TreeNode Text= Spouse >  <ie:TreeNode Text= James K Mason />  <ie:TreeNode Text= Married />  </ie:TreeNode>  </ie:TreeNode>  <ie:TreeNode Text= John Gibson >  <ie:TreeNode Text= Birth />  <ie:TreeNode Text= Death />     </ie:TreeNode>  </ie:TreeView>  </form>    其中我们特别注意一下Expanded= True 中的Expanded属性 该属性当被设置为true时 则当页面被装载时 树形控件被全部展开     以上是在设计时 静态添加数据到树形控件的方法 而由于XML实质上也是以树形结构来表示数据的结构 因此 就可以通过使用XML文件绑定到树形控件的方法 来动态加载数据到控件中去 其中有两种方法可以实现      )另外写一个符合TREEVIEW格式的XML文件     )通过XSL将XML进行转换   先来看下第一种方法 建一个XML文件作为例子 命名为aspnetbooks xml:    <?xml version= encoding= UTF ?>  <books>  <book price= >  <title>Teach Yourself Active Server Pages in Days</title>  <authors>  <author>Mitchell</author>  <author>Atkinson</author>  </authors>  <year> </year>  </book>    <book price= >  <title>Designing Active Server Pages</title>  <authors>  <author>Mitchell</author>  </authors>  <year> </year>  </book>    <book price= >  <title>ASP NET: Tips Tutorials and Code</title>  <authors>  <author>Mitchell</author>  <author>Mack</author>  <author>Walther</author>  <author>Seven</author>  <author>Anders</author>  <author>Nathan</author>  <author>Wahlin</author>  </authors>  <year> </year>  </book>    <book price= >  <title>ASP Unleashed</title>  <authors>  <author>Walther</author>  </authors>  <year> </year>  </book>  </books>  如果我们使用第一种方法 必须对XML进行重写 用以下的形式表示 才能绑定到树形控件中去     <TREENODES>  <treenode text= >  <treenode text= >  </treenode>    <treenode text= />       </TREENODES>    就是说 根结点必须是treenodes(大小写都无所谓) 每个子结点必须以<treenode>的形式排列 于是 我们对原来的XML文件改写为如下的形式     <?xml version= encoding= UTF ?>  <TREENODES>  <treenode text= Teach Yourself Active Server_u ?ages in Days >  <treenode text= Price $ />  <treenode text= Authors >  <treenode text= Mitchell />  <treenode text= Atkinson />  </treenode>  <treenode text= Year Published />  </treenode>    <treenode text= Designing Active Server Pages >  <treenode text= Price $ />  <treenode text= Authors >  <treenode text= Mitchell />  </treenode>  <treenode text= Year Published />  </treenode>  〈/TREENODES>     增加以下代码   <form runat= server >  <ie:TreeView runat= server >  <ie:TreeNode runat= server Text= ASP NET Books Expanded= True TreeNodeSrc= aspnetbooks xml />  </ie:TreeView>  </form>     这样就将该xml文件绑定到树形控件中去了 运行后可以看到结果   ASP NET Books  Teach Yourself Active Server Pages in Days  Designing Active Server Pages  ASP NET: Tips Tutorials and Code  Programming ASP NET    可以看到 使用第一种方法的确比较麻烦 不能对XML的结点进行筛选或者其他操作 而如果使用第二种方法的XSL 则可以根据需要随时对原来的XML进行格式的控制 十分方便      在使用XSL时 可以用如下的方法对树形控件进行绑定   <form runat= server >  <ie:TreeView runat= server >  <ie:TreeNode runat= server Text= ASP NET Books Expanded= True   TreeNodeSrc= aspnetbooks xml   TreeNodeXsltSrc= aspbooks xsl />  </ie:TreeView>  </form>     其中 treenodexsltsrc的属性中指定要转换的XSL文件 我们设计的XSL文件如下   <xsl:stylesheet xmlns:xsl= version= >  <xsl:template match= /books >  <TREENODES>  <xsl:for each select= book >  <treenode>  <xsl:attribute name= text >  <xsl:value of select= title />  </xsl:attribute>    <treenode>  <xsl:attribute name= text >  Price $<xsl:value of select= @price />  </xsl:attribute>  </treenode>    <treenode text= Authors >  <xsl:for each select= authors/author >  <treenode>  <xsl:attribute name= text >  <xsl:value of select= text() />  </xsl:attribute>  </treenode>  </xsl:for each>  </treenode>    <treenode>  <xsl:attribute name= text >  Year Published <xsl:value of select= year />  </xsl:attribute>  </treenode>  </treenode>  </xsl:for each>  </TREENODES>  </xsl:template>  </xsl:stylesheet>     在上面的XSL中 我们通过形如   <xsl:attribute name= text >  <xsl:value of select= title />  </xsl:attribute>    的属性设置 提取XML文件中每个结点的值 将其赋值给予treenode的text属性中 当然 也可以在XSL中使用XPATH等设置要显示的结点     运行后 结果同样与用第一种方法的一样 能正确显示树形控件 而且灵活性比较高 cha138/Article/program/net/201311/13397

相关参考

知识大全 ASP.NET中TreeView控件使用小结

ASP.NET中TreeView控件使用小结  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  浏览

知识大全 ASP.NET中使用TreeView控件系列

ASP.NET中使用TreeView控件系列  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在年

知识大全 ASP.NET母版页TreeView导航链接问题

ASP.NET母版页TreeView导航链接问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 ASP.NET递归将分类绑定到TreeView

ASP.NET递归将分类绑定到TreeView  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  创

知识大全 解决 ASP.NET TreeView 断线问题

解决ASP.NETTreeView断线问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 ASP.NET中XML数据的处理

ASP.NET中XML数据的处理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  SqlDataS

知识大全 ASP.NET - TreeView Web 服务器控件概述

ASP.NET-TreeViewWeb服务器控件概述  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 ASP.NET -TreeView Web 服务器控件事件

ASP.NET-TreeViewWeb服务器控件事件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 ASP.NET 2.0中XML数据的处理

ASP.NET2.0中XML数据的处理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  SqlDa

知识大全 用ASP.NET和XML做的新闻系统

用ASP.NET和XML做的新闻系统  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  这里我就用x