0

Web.Sitemap に基づいて動作する ASP.NET メニュー コントロールがあります。Web.Sitemap では、ルートに複数のアイテムを含めることができません。しかし、ルートに複数の項目を表示するメニューが必要です。出来ますか?

私のサイトマップは次のようなものです:

<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
  <siteMapNode url="" title="Menu"  description="">
    <siteMapNode url="~/Default.aspx" title="Public"  description=""/>
    <siteMapNode url="" title="Administration"  description="">
      <siteMapNode url="~/GeneralSettings.aspx" title="GeneralSettings"  description=""/>
      <siteMapNode url="~/LookupManagement.aspx" title="Lookup"  description=""/>
      <siteMapNode url="~/Administration.aspx" title="Database"  description=""/>
    </siteMapNode>
    <siteMapNode url="~/AboutUs.aspx" title="Contact us"  description="" />
  </siteMapNode>
</siteMap>
4

3 に答える 3

1

おそらくどこかに SiteMap DataSource があるでしょう - "ShowStartingNode" 属性を false に変更してください。

<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" ShowStartingNode="false"/>
于 2010-06-21T12:23:07.483 に答える
0

同様の問題がありました。私が使用した解像度は、 SiteMapDataSourceにバインドしているコントロールによって異なります。

  • オプション A: asp.net メニューを使用している場合は、メニュー プロパティで 'StaticDisplayLevels="2"` を設定します。

  • オプション B: ネストされたRepeaters 、またはSiteMapDataSourceにバインドするその他のコントロールを使用している場合は、受け入れられた回答が示すように設定ShowStartingNode="false"し、メニューの残りの部分に関連して表示する場所にルート ページを手動でコーディングします。

于 2015-05-14T17:51:10.393 に答える
0

メニューの作成方法に応じて、「ダミー」ルート ノードとその下の最上位アイテムを作成し、これらからメニューをレンダリングして、ルート ノードを効果的に無視できますか?

于 2010-06-21T09:39:11.007 に答える