亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

在ASP.NET中使用Treeview控件和XML

2019-11-18 19:35:40
字體:
來源:轉載
供稿:網友

  以前,在WEB頁面中如果想使用樹形控件的話,往往會有些麻煩,有時甚至要自己寫代碼來達到用樹形列表顯示數據的目的。在asp.net中,我們可以很方便地使用由微軟提供的Internet Exploer Web Controls控件來實現樹形列表。在微軟提供的這套Internet Exploere Web Controls控件集合中,包括有Multipage,TabStrip,TOOLbar,Treeview控件。在這篇文章中,我們來看在ASP.net中如何使用Treeview控件和xml來實現樹形列表。

  微軟的這套控件可以在http://asp.net/IEWebControls/Download.aspx?tabindex=0&tabid=1中下載,下載后運行setup安裝就可以了。現在我們來試下用Treeview控件做個簡單的例子。

  在vs.net中新建一個WEB工程,之后在工具箱中,鼠標右鍵彈出的菜單中,選擇“添加新項”,在自定義工具箱中,選擇TREEVIEW控件(注意選擇的是命名空間為Microsoft Internet Exploere web control的命名空間),按確定后,就可以在工具箱中出現Treeview控件了。

  接著,將treeview控件拖拉到窗體中,切換到HTML視圖,這時會發現有如下代碼:

<%@ Register TagNamespace="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 - 1766" />
   <ie:TreeNode Text="Death - 1827" />
   <ie:TreeNode Text="Spouse">
   <ie:TreeNode Text="Ritty Gibson" />
   <ie:TreeNode Text="Married 1789" />
   <ie:TreeNode Text="Children">
   <ie:TreeNode Text="Phoebe Gibson">
   <ie:TreeNode Text="Birth - 1790" />
   <ie:TreeNode Text="Death - 1884" />
   <ie:TreeNode Text="Spouse">
    <ie:TreeNode Text="James K. Mason" />
    <ie:TreeNode Text="Married 1819" />
   </ie:TreeNode>
  </ie:TreeNode>
  <ie:TreeNode Text="John Gibson">
   <ie:TreeNode Text="Birth - 1793" />
   <ie:TreeNode Text="Death - 1802" />
   ......
  </ie:TreeNode>
 </ie:TreeView>
</form>

  其中我們特別注意一下Expanded="True"中的Expanded屬性,該屬性當被設置為true時,則當頁面被裝載時,樹形控件被全部展開。

  以上是在設計時,靜態添加數據到樹形控件的方法。而由于XML實質上也是以樹形結構來表示數據的結構,因此,就可以通過使用XML文件綁定到樹形控件的方法,來動態加載數據到控件中去,其中有兩種方法可以實現:

  1)另外寫一個符合TREEVIEW格式的XML文件

  2)通過XSL將XML進行轉換。

  先來看下第一種方法,建一個XML文件作為例子,命名為aspnetbooks.xml:

<?xml version="1.0" encoding="UTF-8"?>
<books>
 <book price="34.95">
  <title>Teach Yourself Active Server Pages 3.0 in 21 Days</title>
  <authors>
   <author>Mitchell</author>
   <author>Atkinson</author>
  </authors>
  <year>1999</year>
</book>

<book price="29.95">
<title>Designing Active Server Pages</title>
<authors>
 <author>Mitchell</author>
</authors>
 <year>2000</year>
</book>

<book price="34.95">
<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>2001</year>
</book>

<book price="24.95">
<title>ASP Unleashed</title>
<authors>
 <author>Walther</author>
</authors>
<year>1998</year>
</book>
</books>

  如果我們使用第一種方法,必須對XML進行重寫,用以下的形式表示,才能綁定到樹形控件中去:

<TREENODES>
<treenode text="...">
<treenode text="...">
</treenode>

<treenode text="..." />

...
</TREENODES>

  就是說,根結點必須是treenodes(大小寫都無所謂),每個子結點必須以<treenode>的形式排列。于是,我們對原來的XML文件改寫為如下的形式:

<?xml version="1.0" encoding="UTF-8"?>
<TREENODES>
 <treenode text="Teach Yourself Active Server_u80 ?ages 3.0 in 21 Days">
  <treenode text="Price - $34.95" />
  <treenode text="Authors">
   <treenode text="Mitchell" />
   <treenode text="Atkinson" />
  </treenode>
  <treenode text="Year Published - 2000" />
 </treenode>

 <treenode text="Designing Active Server Pages">
  <treenode text="Price - $29.95" />
  <treenode text="Authors">
   <treenode text="Mitchell" />
  </treenode>
  <treenode text="Year Published - 2000" />
 </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 3.0 in 21 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="<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等設置要顯示的結點。

  運行后,結果同樣與用第一種方法的一樣,能正確顯示樹形控件,而且靈活性比較高。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91青草视频久久| 亚洲肉体裸体xxxx137| 日韩中文字幕久久| 日韩中文字幕网| 欧美一级高清免费| 久久精品视频99| 插插插亚洲综合网| 国产区精品视频| 伊是香蕉大人久久| 性欧美暴力猛交69hd| 欧美日韩美女在线| 中文字幕在线视频日韩| 日韩av在线直播| 久久偷看各类女兵18女厕嘘嘘| 国产精品毛片a∨一区二区三区|国| 日韩av电影手机在线| 久久久久久免费精品| 国产亚洲精品久久久久久777| 欧美在线亚洲一区| 国产一区二区三区高清在线观看| 欧美极品少妇全裸体| 久久91精品国产91久久久| 欧美亚洲成人精品| 久久久久免费视频| 成人a在线观看| 在线观看中文字幕亚洲| 欧美精品一二区| 日韩视频精品在线| 亚洲欧美精品伊人久久| 色yeye香蕉凹凸一区二区av| 欧美国产日韩一区二区在线观看| 日韩精品在线免费播放| 中日韩美女免费视频网址在线观看| 欧美日韩美女在线| 最近2019免费中文字幕视频三| 久久久久久久影院| 国产精品精品国产| 国产精品91在线| 亚洲精品一区在线观看香蕉| 97视频在线观看网址| 国产精品久久久91| 欧美日韩国产黄| 亚洲香蕉伊综合在人在线视看| 国产亚洲欧洲在线| 亚洲欧美精品一区| 尤物99国产成人精品视频| 欧美日韩国产色| 91精品国产综合久久香蕉最新版| 亚洲在线观看视频网站| 亚洲伊人久久综合| 国模视频一区二区| 欧美在线精品免播放器视频| 2019中文字幕免费视频| 精品国产一区二区三区在线观看| 久久久久久91| 日韩美女主播视频| 国内精品国产三级国产在线专| 日韩av在线一区二区| 成人久久一区二区| 国产午夜精品视频| 国产啪精品视频网站| 欧美日韩国产123| 成人久久一区二区三区| 亚洲系列中文字幕| 欧美激情精品久久久久| 亚洲在线视频福利| 国产精品高潮呻吟久久av野狼| 国产91ⅴ在线精品免费观看| 欧美成人午夜激情| 亚洲精品欧美日韩专区| 欧美日韩免费网站| 亚洲国产古装精品网站| 国产91精品最新在线播放| 8090理伦午夜在线电影| 久久亚洲精品中文字幕冲田杏梨| 欧美黑人xxx| 一区二区三区 在线观看视| 欧美激情一二区| 国产噜噜噜噜噜久久久久久久久| 国产日韩精品在线观看| 久久人人爽人人爽人人片av高请| 国产精品爽爽爽爽爽爽在线观看| 久久人人爽国产| 亚洲精品自拍偷拍| 亚洲无线码在线一区观看| 国产中文欧美精品| 中文字幕日韩免费视频| 久久国产精品99国产精| 欧美日韩中文字幕在线| 亚洲成人动漫在线播放| 97人人做人人爱| 国产精品久久久久7777婷婷| 97在线日本国产| 日韩av在线不卡| 亚洲一区二区日本| 性欧美xxxx交| 国产精品一区二区性色av| 成人免费大片黄在线播放| 久久伊人91精品综合网站| 亚洲午夜av久久乱码| 日韩av综合网| 欧美一区二区三区免费观看| 欧美性猛交xxxx久久久| 欧美巨猛xxxx猛交黑人97人| 久久久噜噜噜久噜久久| 亚洲视频综合网| 欧美野外猛男的大粗鳮| 57pao精品| 亚洲a区在线视频| 国产精品久久久av| 亚洲自拍小视频| 精品国产一区二区三区久久狼黑人| 国产日韩欧美在线观看| 久久99精品久久久久久青青91| 欧美高清在线观看| 91精品在线一区| 欧美整片在线观看| 日韩激情av在线免费观看| 国产精品吴梦梦| 欧美激情二区三区| 亚洲精品自在久久| 欧美大片在线免费观看| 日韩久久精品成人| 欧美激情综合色| 国产一区二区三区在线播放免费观看| 亚洲欧美日韩精品久久亚洲区| 色妞在线综合亚洲欧美| 欧美午夜视频一区二区| 亚洲第一区在线| 亚洲午夜未满十八勿入免费观看全集| 一本一本久久a久久精品牛牛影视| 欧美一级片免费在线| 国产精品极品美女在线观看免费| 精品中文字幕视频| 欧美国产欧美亚洲国产日韩mv天天看完整| 久久久久久久久久国产精品| 国产成人高清激情视频在线观看| 国产精品女人网站| 亚洲激情自拍图| 91精品久久久久久久久久久| 日韩精品福利网站| 亚洲人成网站999久久久综合| 欧美日韩国产成人在线观看| 全亚洲最色的网站在线观看| 日韩免费电影在线观看| 亚洲成人999| 成人免费视频a| 日韩久久精品电影| 欧美精品18videos性欧| 免费av在线一区| 668精品在线视频| 日韩精品免费看| 日韩精品一区二区三区第95| 国产手机视频精品| 亚洲人成亚洲人成在线观看| 亚洲午夜久久久久久久| 中文字幕综合在线| 日韩精品视频在线播放| 68精品国产免费久久久久久婷婷| 久久久99久久精品女同性| 久色乳综合思思在线视频| 青草热久免费精品视频| 精品一区二区三区电影| www.国产精品一二区|