2

次のような web.sitemap があります。

<siteMapNode url="~/Default.aspx" title="Home" description="" >
    <siteMapNode title="Node 1" description="">
        <siteMapNode url="" title="Node 1-1" description="" />
        <siteMapNode url="" title="Node 1-2" description="" />
    </siteMapNode>
    <siteMapNode title="Node 2" description="">
        <siteMapNode url="" title="Node 2-1" description="" />
        <siteMapNode url="" title="Node 2-2" description="" />
    </siteMapNode>
</siteMapNode>

ASP.NET メニュー コントロール (StaticDisplayLevels=2) を使用すると、次のようになります。

| | ホーム | ノード 1 | ノード 2 |

「ホーム」をスキップしてこのメ​​ニューを取得するためのプロパティはありますか (そのサイトマップから):

| | ノード 1 | ノード 2 |

?

4

2 に答える 2

6

SiteMapsDataSource を使用している場合は、ShowStartingNode プロパティを false に設定してルート ノードをスキップできます。

于 2009-02-24T14:16:15.380 に答える
1

まだ を使用して を設定していない場合はSiteMapDataSource、次のMenuようにして、そのShowStartingNodeプロパティを に設定できますfalse(上記のコメントで述べたようにStaticDisplayLevels、レベルを削除しているため、 を 1ずつ減らします)。

<asp:SiteMapDataSource ID="MenuSource" runat="server" ShowStartingNode="false" />

もちろん、これはルート ノードに対してのみ機能します。他のノードまたはノードのレベル全体をスキップするには、データを取り込む前にソース Xml をマッサージする必要がありますMenu(たとえば、xslt を使用してノードのクラスを取り除きます)。

于 2009-02-24T14:16:02.697 に答える