alex2006您好,
SiteMap本身就是一個樹狀結構,所以在每個SiteMapNode類別下會有一個ChildNodes類別代表所屬的子節點,ChildNodes就有Add()、Insert()、Remove()、Clear() 等方法可以去修改其子節點,到目前為止你可以暫時將 SiteMap 視為TreeView。
SiteMap 好比是 TreeVew,SiteMapNode 彷彿就是 TreeNode,所以如果將整個資料展開來就像是這個樣子。
home
|_ test1 _
| |_ test1_1
| |
| |_ test1_2
|
|_ test2 _
| |_ test2_1
|
|_ test3 _
|_test3_1
|
|_test3_2
|
|_test3_3
然而 SiteMapPaht 控件(不是SiteMap) 不是用來顯示整個Tree結構,它
只會顯示路徑,
重點再於SiteMapResolve事件中最後的 return currentNode;。
如果你 return test3_2,就會顯示為 home >> test3 >> test3_2。
再舉一例,如果你 return test1_2,就會顯示為 home >> test1 >> test1_2。
動態修改SiteMapPath路徑一文要表達的就是,在SiteMapResolve事件中建構你的sitemap結構,然後傳回目前所在的節點(currentNode),那麼就可以做到動態Path的目標了。
最後我還要提醒您一下,SiteMap 跟 SiteMapPath控件是不同的東西,不要搞混了。