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" />

但是如何让 SiteMapDataSource 使用 Web.NEW.sitemap 而不是默认站点地图?我想添加一个属性,如:

SiteMapProvider="Web.NEW.sitemap"

应该这样做,但没有骰子。

我错过了什么?

4

1 回答 1

10

您必须正确配置 web.config 才能使用SiteMapDataSource属性。使用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 回答