資源描述:
《第12章 站點導航控件》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、第12章站點導航控件本章主要內(nèi)容站點地圖概述TreeView控件Menu控件SiteMapPath控件12.1站點地圖概述站點地圖是一種擴展名為.sitemap的標準XML文件,用來定義整個站點的結(jié)構(gòu)、各頁面的鏈接、相關(guān)說明和其他相關(guān)定義。站點地圖的文檔結(jié)構(gòu)是由多個不同層級的節(jié)點元素組成的,該文件中包含一個根節(jié)點siteMap,在根節(jié)點下包括多個siteMapNode字節(jié)點,siteMapNode節(jié)點包含多個屬性。12.2TreeView控件12.2.1TreeView控件概述TreeView控件支持數(shù)據(jù)綁定和站點導航,其節(jié)點文本既可以顯示為純文本也可以顯示為超級鏈接,該控件也支持客戶端
2、節(jié)點填充以及在每個節(jié)點旁顯示復選框的功能,通過編程方式可以訪問TreeView對象模型以動態(tài)地創(chuàng)建樹、填充節(jié)點以及設(shè)置屬性等,并且允許通過主題、用戶定義的圖像和樣式對TreeView控件的外觀進行自定義。TreeView控件具有的主要功能如下:(1)支持數(shù)據(jù)綁定,即允許通過數(shù)據(jù)綁定方式,使得控件節(jié)點與XML、表格、關(guān)系型數(shù)據(jù)等結(jié)構(gòu)化數(shù)據(jù)建立緊密聯(lián)系。(2)支持站點導航功能,即通過集成SiteMapDataSource控件,實現(xiàn)站點導航功能。(3)單擊文字可顯示為普通文本或超鏈接文本。(4)自定義樹形和節(jié)點的樣式、主題等外觀特征。(5)可通過編程方式訪問TreeView對象模型,完成動態(tài)創(chuàng)
3、建樹形結(jié)構(gòu)、構(gòu)造節(jié)點和設(shè)置屬性等任務(wù)。(6)在客戶端瀏覽器支持的情況下,通過客戶端到服務(wù)器的回調(diào)填充節(jié)點。(7)具有在節(jié)點顯示復選框的功能。12.2.2TreeView控件常用的屬性和事件見教材的詳細介紹12.2.3TreeView控件的基本應(yīng)用TreeView控件的最簡單的數(shù)據(jù)模型是靜態(tài)數(shù)據(jù)。若要使用聲明性語法顯示靜態(tài)數(shù)據(jù),首先在TreeView控件的開始標記與結(jié)束標記之間放置和標記,然后通過在和之間嵌套元素來創(chuàng)建樹結(jié)構(gòu)。每個元素表示樹中的一個節(jié)點,并且映射到一個Tree
4、Node對象。通過設(shè)置每個節(jié)點的元素的屬性可以對節(jié)點的外觀和行為進行設(shè)置。若要創(chuàng)建子節(jié)點,可以在父節(jié)點的開始和結(jié)束標記之間嵌套其他的元素。12.2.4TreeView控件綁定數(shù)據(jù)庫TreeView控件支持綁定多種數(shù)據(jù)源,如數(shù)據(jù)庫、XML文件等,本節(jié)主要介紹使用TreeView控件綁定數(shù)據(jù)庫。以下實例首先連接已建好的的數(shù)據(jù)庫shoppingDB,并以樹形形式顯示商品種類表Category的數(shù)據(jù),主要代碼如下:publicvoidBindCategoryTreeView(TreeViewtreeView,bo
5、olisExpanded,stringsSelectedData){DataTabledataTable=GetCategorys().Tables[0];treeView.Nodes.Clear();///清空樹的所有節(jié)點DataRow[]rowList=dataTable.Select("ParentID='-1'");if(rowList.Length<=0)return;TreeNoderootNode=newTreeNode();///創(chuàng)建根節(jié)點///設(shè)置根節(jié)點屬性rootNode.Text=rowList[0]["Desn"].ToString();rootNode.Valu
6、e=rowList[0]["CategoryID"].ToString();///設(shè)置根節(jié)點的Key值rootNode.Expanded=isExpanded;rootNode.Selected=true;treeView.Nodes.Add(rootNode);///添加根節(jié)點///創(chuàng)建其他節(jié)點CreateChildNode(rootNode,dataTable,isExpanded,sSelectedData);}12.2.5TreeView控件綁定XML文件TreeView控件可分別與SiteMapDataSource控件和XMLDataSource控件進行數(shù)據(jù)綁定來實現(xiàn)站點導航功
7、能。本小節(jié)主要XMLDataSource控件。XMLDataSource控件是一種特殊的數(shù)據(jù)源控件,同時支持表格和層次性數(shù)據(jù)視圖。XML數(shù)據(jù)的表格式視圖只是層次結(jié)構(gòu)的同時XMLDataSource有其特殊之處,它是唯一一個同時實現(xiàn)了IdataSource和IhieraExicalDataSource接口的內(nèi)置數(shù)據(jù)源控件,雖然有兩個接口,但是該控件沒有進一步實現(xiàn)Select方法。同時XMLDataSource控件不適合于使用read/