使用两张网.项目中的站点地图

本文关键字:项目 站点 地图 两张 | 更新日期: 2023-09-27 18:11:55

我想用两个不同的网页。站点地图在一个应用程序。(一个引导导航条是创建在我的主页,我想要不同的布局默认页面等)所以msdn说,你必须添加一个新的网页。站点地图和网页中的一个键。配置MSDN文档,这样做之后,我不知道如何查询到新的web。Sitemap,因为我读了原来的一个如下:

SiteMapNode rootNode = SiteMap.RootNode;
makeNavbar(rootNode.ChildNodes, true, false);
....

还好…导航栏在这里创建得很好…

但是我想要的是这样的:

SiteMapBode rootNode = SiteMap.UseProvider("newSiteMap").RootNode;

显然这个函数不存在…

所有我想要的是阅读新的网页。无需更改太多代码的站点地图。

谁能给我指个正确的方向?

使用两张网.项目中的站点地图

这是你的配置。

    <siteMap defaultProvider="XmlSiteMapProvider" enabled="true">
          <providers>
            <clear />
            <add name="XmlSiteMapProvider" type="System.Web.XmlSiteMapProvider" siteMapFile="Web.sitemap" />
            <add name="XmlSiteMapProvider2" type="System.Web.XmlSiteMapProvider" siteMapFile="secondsitemapname.sitemap" />
          </providers>
        </siteMap>

接下来我要做的就是将asp:sitemapdatasource添加到您在配置文件中给出的正确名称的页面。

那么如果你有一个asp:menu, asp:repeater或任何其他控件,你可以使用datasourceid来连接它与asp:sitemapdatasource

SiteMapDataSource test = new SiteMapDataSource();
        test.Provider.RootNode

我找到解决办法了。使用SiteMap类,就像问题中使用的例子一样,您可以通过编程方式访问不同的web。Sitemap和read

SiteMapNode rootNode = SiteMap.Providers["SiteMap2"].RootNode;

感谢@Davy Quyo确认了我的第一步:将提供商添加到web.config