我使用web.sitemap文件创建了asp.net网站以帮助导航。该站点需要部署在我们的SharePoint Intranet站点内的虚拟目录中。我遇到的问题是,当我请求SiteMap.CurrentNode属性时,它将从SharePoint的站点地图返回信息。具体来说,当我尝试获取我的站点地图的标题或描述时,我从SharePoint获取信息。我尝试重新命名我的站点地图并在web.config中声明一个新的站点地图提供程序。创建新的站点地图提供程序并请求SiteMap.currentNode后,我收到一条错误消息,指出它无法找到web.sitemap文件。
非常感谢您提供的任何帮助。
答案 0 :(得分:0)
听起来您需要将虚拟目录设置为IIS中的应用程序 - 这样做:
有are other differences,但这两个似乎是您概述的问题的原因。
答案 1 :(得分:0)
我能够找出问题...事实证明,当我在web.config中声明新的站点地图提供程序时,我没有设置defaultProvider值。将默认提供程序设置为新提供程序的名称后,一切都按预期工作。
<siteMap enabled="true" defaultProvider="CPSiteMap">
<providers>
<add name="CPSiteMap" type="System.Web.XmlSiteMapProvider" siteMapFile="AccountMaintenance.sitemap" />
</providers>
</siteMap>
我希望这有助于其他人。