代码之家  ›  专栏  ›  技术社区  ›  Beska

如何在asp.net中使用多个.sitemap文件

  •  4
  • Beska  · 技术社区  · 15 年前

    我想我遗漏了一些关于站点地图的明显信息。

    我正在尝试使用中继器为我们网站上的新站点地图生成一些导航。但我不想使用我们的普通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而不是默认的sitemap?我想添加一个属性,比如:

    SiteMapProvider="Web.NEW.sitemap"
    

    应该这么做,但不要掷骰子。

    我错过了什么?

    1 回复  |  直到 15 年前
        1
  •  9
  •   Greg    15 年前

    必须正确配置web.config才能使用 SiteMapDataSource 财产。使用 SiteMap element :

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

    然后从web.config文件中将sitemapprovider属性设置为提供程序的名称。

    SiteMapProvider="newProvider"