5

サイトマップについて明らかな何かが欠けていると思います。

リピーターを使用して、サイトにある新しいサイトマップのナビゲーションを生成しようとしています。しかし、私は通常の Web.sitemap ファイルを使用したくありません。新しいファイルを使用したいのです...「Web.NEW.sitemap」と呼びます。

コードはある程度明白なようです...

<asp:Repeater ID="rptMyRepeater" DataSourceID="mySitemap" runat="server">
    <ItemTemplate>
        blah blah blah
    </ItemTemplate>
</asp:Repeater>

<asp:SiteMapDataSource ID="mySitemap" runat="server" />

しかし、デフォルトのサイトマップの代わりに Web.NEW.sitemap を使用するように SiteMapDataSource を取得するにはどうすればよいでしょうか? 次のような属性を追加すると思いました:

SiteMapProvider="Web.NEW.sitemap"

するべきですが、サイコロはありません。

私は何が欠けていますか?

4

1 に答える 1

10

SiteMapDataSourceプロパティを利用するには、web.config を適切に構成する必要があります。SiteMap 要素を使用します。

<siteMap defaultProvider="oldProvider">
  <providers>
    <clear />
    <add name="oldProvider" type="System.Web.XmlSiteMapProvider" siteMapFile="web.sitemap" />
    <add name="newProvider" type="System.Web.XmlSiteMapProvider" siteMapFile="Web.NEW.sitemap" />
  </providers>
</siteMap>

次に、SiteMapProvider プロパティを web.config ファイルのプロバイダーの名前に設定します。

SiteMapProvider="newProvider"
于 2009-05-27T16:34:41.620 に答える