我认为我遗漏了一些关于站点地图的明显内容。
我正在尝试使用转发器为我们网站上的新站点地图生成一些导航。但我不想使用我们正常的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"
应该这样做,但没有骰子。
我错过了什么?
答案 0 :(得分:9)
您必须正确配置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>
然后将SiteMapProvider属性设置为web.config文件中的提供程序名称。
SiteMapProvider="newProvider"