Asp.net 以编程方式更改sitemappath控件的提供程序

Asp.net 以编程方式更改sitemappath控件的提供程序,asp.net,sitemap,Asp.net,Sitemap,在web.config文件中,有2个sitemappath控件提供程序 <siteMap defaultProvider="RouteBaseSitemapProvider"> <providers> <add name="RouteBaseSitemapProvider" type="AmlakAlmamlakLib.RouteBaseSitemapProvider" siteMapFile="Web.sitemap"/>

在web.config文件中,有2个sitemappath控件提供程序

 <siteMap defaultProvider="RouteBaseSitemapProvider">
      <providers>
        <add name="RouteBaseSitemapProvider" type="AmlakAlmamlakLib.RouteBaseSitemapProvider" siteMapFile="Web.sitemap"/>
        <add name="RouteBaseSitemapProvider1" type="AmlakAlmamlakLib.RouteBaseSitemapProvider"  siteMapFile="Web - Copy.sitemap"/>
      </providers>
    </siteMap>
<asp:SiteMapPath ID="SiteMap1" runat="server"/>

在aspx文件中有sitemappath控件

 <siteMap defaultProvider="RouteBaseSitemapProvider">
      <providers>
        <add name="RouteBaseSitemapProvider" type="AmlakAlmamlakLib.RouteBaseSitemapProvider" siteMapFile="Web.sitemap"/>
        <add name="RouteBaseSitemapProvider1" type="AmlakAlmamlakLib.RouteBaseSitemapProvider"  siteMapFile="Web - Copy.sitemap"/>
      </providers>
    </siteMap>
<asp:SiteMapPath ID="SiteMap1" runat="server"/>

问题


站点地图路径控制默认使用此提供程序。我想在代码隐藏文件中实际更改提供程序。

您可以在代码隐藏文件中以这种方式更改提供程序:

SiteMap1.SiteMapProvider = "RouteBaseSitemapProvider1";