0

我有一个位于 asp.net 页面上的菜单。我使用树视图控件来显示我的站点菜单。唯一的问题是我有一个实际上什么都不做的根节点。

目前我的菜单结构如下:

-empty root node
I---Home
I---Calendar
I---....

但我想要这样:

-Home
-Calendar
-....

所以基本上根节点应该被删除或隐藏,只要用户不能点击和或看到它......

有没有一种简单的方法可以做到这一点?我尝试删除空的 < siteMapNode > 标签,但这给了我一个错误......

4

1 回答 1

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;
于 2013-03-06T16:17:23.997 回答