2013-03-06 101 views
0

我有一個菜單位於一個asp.net頁面。我使用了treeview控件來顯示我的sitemenu。唯一的問題是我有一個根節點,幾乎什麼都不做。刪除站點地圖樹視圖的根節點

目前我的菜單結構如下:

-empty根節點
我---首頁
我---日曆
我---....

但我想這樣的:

- 首頁
-Calendar
-....

所以基本上根節點應該被刪除或隱藏,只要用戶不能點擊或看到它...

有沒有一個簡單的方法來做到這一點?我試圖刪除空的< siteMapNode>標籤,但這給了我一個錯誤...

+0

您的標題顯示爲「ASP.NET WebForms中的事件處理」。你的問題與事件處理有什麼關係? – jason 2013-03-06 16:06:26

+0

lol對不起,這是我以前的問題,我已經解決了標題... – LeonidasFett 2013-03-06 16:10:23

+1

爲什麼投票下來?這發生了錯誤,並沒有打算作爲問題的標題.... – LeonidasFett 2013-03-06 16:12:44

回答

1

有SiteMapDataSource中有幫助控制這個屬性。例如:

<asp:SiteMapDataSource ID="_siteMapData" runat="server" ShowStartingNode="false" StartFromCurrentNode="true" /> 
<asp:TreeView ID="_tree" NodeWrap="true" ExpandDepth="1" DataSourceID="_siteMapData" runat="server"></asp:TreeView> 

更改ShowStartingNode的值應該是您的需要。

您也可以從代碼隱藏中更改該值。這將根據當前節點是否有子節點(無子節點,上一級)來更改初始節點:

SiteMapNode currNode = System.Web.SiteMap.CurrentNode; 
_siteMapData.StartingNodeOffset = currNode != null && currNode.HasChildNodes ? 0 : -1; 
+0

謝謝,這個伎倆!該節點仍然在代碼中,但它不再顯示在瀏覽器中,正是我想要的! – LeonidasFett 2013-03-06 16:22:07