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

标签 asp.net sitemap

我认为我遗漏了一些关于站点地图的明显内容。

我正在尝试使用中继器为我们网站上的新站点地图生成一些导航。但我不想使用普通的 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"

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

我错过了什么?

最佳答案

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

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

SiteMapProvider="newProvider"

关于asp.net - 如何在 ASP.NET 中使用多个 .sitemap 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/916681/

相关文章:

c# - 如何在 fiddler 中捕获服务器端 web api 调用?

asp.net - 使用 jQuery 对 FILE 类型的 INPUT 进行客户端验证,无需回发

java - 自动生成站点地图

XML Sitemaps - 创建和管理 XML Sitemaps 有充分的理由吗?

seo - "filters"应该包含在 sitemaps.xml 中吗?

c# - 发布时将连接字符串从开发更改为生产

asp.net - 一键式 ASP.NET 网络部署包括先决条件?

c# - 单元测试 ASP.NET(不是 MVC)——如何通过 "Request is not Available in this context."?

html - 用于 SEO 的站点地图 - 覆盖还是单独的页面?

ASP.NET web.sitemap - 角色似乎不控制可见性?