節點XML文檔設計
在這個WEB控件中將采用XML/XSLT技術來生成Html代碼。首先得設計出定義樹狀結構的XML文檔,由於XML文檔本身是樹狀結構,因此這裡的XML文檔設計就比較簡單的了。大家可以提出很多種設計方案,在此我提出如下的設計方案。先看一下XML文檔的范例。
<?XML version="1.0" encoding="utf-8"?>
< RootNodes>
<Node>
<Icon>customer.bmp</Icon>
<Text>艾德高科技</Text>
<Nodes>
<Node>
<Icon>order.bmp</Icon>
<Text>10359 成先生</Text>
<Nodes>
<Node>
<Icon>product.bmp</Icon>
<Text>餅干</Text>
<OnClick>alert('餅干')</OnClick>
<Nodes />
</Node>
<Node>
<Icon>product.bmp</Icon>
<Text>溫馨奶酪</Text>
<OnClick>alert('溫馨奶酪')</OnClick>
<Nodes />
</Node>
</Nodes>
</Node>
</Nodes>
</Node>
<Node>
<Icon>customer.bmp</Icon>
<Text>霸力建設</Text>
<Nodes>
<Node>
<Icon>order.bmp</Icon>
<Text>10858 余小姐</Text>
<Nodes>
<Node>
<Icon>product.bmp</Icon>
<Text>海鮮粉</Text>
<OnClick>alert('海鮮粉')</OnClick>
<Nodes />
</Node>
</Nodes>
</Node>
</Nodes>
</Node>
< /RootNodes>
詳細讀者看到這個范例後能很容易的理解這個XML文檔的結構,Node元素表示一個節點,它下面有Icon元素指定元素圖標文件名,Text元素指定節點文本,OnClick元素指定節點的OnClick事件處理,Nodes元素用於放置子節點。根元素RootNodes下放置了樹狀列表第一層節點。
XSLT文檔設計
XSLT文檔是這個控件中比較復雜的部分,在後面將詳細說明其內容。
軟件說明
根據軟件設計,筆者已經完成了該程序,程序主要包含以下幾個文件
Default.ASPx
演示樹狀列表WEB控件的一個ASPX頁面。
SkyTreeNode.cs
定義了表示樹狀列表中一個節點的類型。
SkyTreeNodeList.cs
定義了一種樹狀節點列表的類型。
TreeVIEwNodeXML.ASPx
為動態加載子節點的控件提供節點XML文檔的服務頁面。
SkyTreeVIEwControl.bmp
控件在設計器工具箱上的圖標的圖片。
SkyTreeVIEwControl.cs
控件C#源代碼文件。
SkyTreeVIEwControl.xslt
和控件配套使用的XSLT文件。
SkyTreeVIEwControl_*.gif/bmp
一系列的顯示樹狀列表結構所需的小圖片。