2

asp.netサイトマップに基づいてメニューを作成しようとしています。サイトマップノードをネストして、すべてが同じレベルに表示されるようにするにはどうすればよいですか。これが私が持っているものです:

<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode>

    <siteMapNode url="~/Default.aspx" title="Home"  description="link to Home" />
    <siteMapNode url="~/about.aspx" title="About"  description="abot" />

 </siteMapNode>

</siteMap>

メニューコントロールのコードは次のようになります。

<asp:Menu ID="Menu1" runat="server" BackColor="#E3EAEB" 
        DataSourceID="SiteMapDataSource1" 
    </asp:Menu>

これらは両方とも、矢印の下に2番目の層の要素として表示されます。初心者の質問で申し訳ありませんが、私はこれまでメニューコントロールを使用したことがありません。

4

1 に答える 1

4

StaticDisplayLevels を設定する必要があるだけで、サイトマップ ファイルには 1 つのレベルしかありません。

<asp:Menu runat="server" DataSourceID="SiteMapDataSource" StaticDisplayLevels="2" >
</asp:Menu>

web.sitemap の例:

<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
    <siteMapNode>
        <siteMapNode url="Default.aspx" title="Home"  description="" />
        <siteMapNode url="Page2.aspx" title="Page2"  description="" />
    </siteMapNode>
</siteMap>
于 2009-06-23T04:23:01.343 に答える