C# SharePoint虚拟目录网站地图
我已经创建了一个asp.net网站,利用web.sitemap文件帮助导航。该站点需要部署在SharePoint intranet站点内的虚拟目录中。我遇到的问题是,当我请求SiteMap.CurrentNode属性时,它正在从SharePoint的SiteMap返回信息。具体来说,当我试图获取网站地图的标题或描述时,我是从SharePoint获取信息的。我已尝试重新命名我的站点地图,并在web.config中声明一个新的站点地图提供程序。创建新的站点地图提供程序并请求sitemap.currentNode后,我收到一条错误消息,说它找不到web.sitemap文件C# SharePoint虚拟目录网站地图,c#,asp.net,sharepoint,sitemap,C#,Asp.net,Sharepoint,Sitemap,我已经创建了一个asp.net网站,利用web.sitemap文件帮助导航。该站点需要部署在SharePoint intranet站点内的虚拟目录中。我遇到的问题是,当我请求SiteMap.CurrentNode属性时,它正在从SharePoint的SiteMap返回信息。具体来说,当我试图获取网站地图的标题或描述时,我是从SharePoint获取信息的。我已尝试重新命名我的站点地图,并在web.config中声明一个新的站点地图提供程序。创建新的站点地图提供程序并请求sitemap.curre
非常感谢您提供的任何帮助。听起来您需要将虚拟目录设置为IIS中的应用程序-这样做将: 将应用程序的基本目录重置为虚拟目录的根目录,以便web.config中的相对路径指向正确的位置,然后 使网站忽略在父文件夹中定义的任何Sharepoint web.config文件中定义的任何设置,以及 还应将站点地图文件设为默认文件,因为它不会查看父目录中的任何web.config或站点地图。
有,但这两个似乎是您所概述的问题的原因。我能够找出问题所在…结果是,当我在web.config中声明新的站点地图提供程序时,我没有设置defaultProvider值。将默认提供程序设置为新提供程序的名称后,一切都按预期进行
<siteMap enabled="true" defaultProvider="CPSiteMap">
<providers>
<add name="CPSiteMap" type="System.Web.XmlSiteMapProvider" siteMapFile="AccountMaintenance.sitemap" />
</providers>
</siteMap>
我希望这对其他人有帮助