此頁面為第二棵樹狀列表提供動態子節點資料,純後台邏輯無 HTML 輸出。.aspx 僅含一行指令:
<%@ Page language="c#" Inherits="CS_Discovery.TreeViewNodeXml" CodeFile="TreeViewNodeXML.aspx.cs" %>
KeyType、KeyValue。ContentType = "text/xml"、編碼 936 (GB2312)。XmlTextWriter 輸出 XML,啟用縮排。SkyDemo.mdb。KeyType 分支查詢:// KeyType == "customerid":查詢該客戶所有訂單
cmd.CommandText = "select orderid, shipname from orders where customerid='" + KeyValue + "' order by orderid";
// 輸出 Node 元素,含 ID、Icon、Text、XMLSource(指向自身,KeyType=orderdetails)
// KeyType == "orderdetails":查詢訂單明細貨品
cmd.CommandText = @"select products.productname, orderdetails.quantity
from orderdetails, products
where orderdetails.productid = products.productid and orderdetails.orderid=" + KeyValue;
// 輸出 Node 元素,含 ID、Icon、Text、OnClick,無 XMLSource(葉節點)
演示頁面 Default.aspx 同時展示兩棵樹(均 3 層、3000+ 節點):
GenerateAtServer=false, IndentXML=false,HTML 體積 ~300KB,主要為純 XML 資料。GenerateAtServer=true,HTML 體積 ~2MB,膨脹 6 倍,含大量樣式與結構標籤。結論:大量節點場景下,客戶端渲染 + XML/XSLT 傳輸純資料 可大幅降低頻寬佔用與傳輸延遲,驗證了 XML/XSLT 在 Web 應用中改善網路傳輸效能的實戰價值。
SkyTreeViewControl.bmp、SkyTreeViewControl.xslt 設為「嵌入的資源」。SkyTreeViewControl。SkyTreeViewControl_ 前綴圖片檔複製至 Web 應用程式根目錄。SkyTreeViewControl,支援伺服器端/客戶端雙模式 XSLT 渲染、按需動態載入子節點。transformNode 技術,大幅提升大量節點渲染速度。