对不起我的英语。 我正在尝试使用自定义提供程序,但是当我在SiteMapDataSource提供程序中编写时,没有任何更改。当我更改其ID并相应地更改其在DataSourceID页面中的属性时,会给出错误,而不是。他记得TopSiteMap ID并且不想编译其他。
提供程序已在Web配置和其他网站集中正常工作。但这个有一个错误。
如果主页菜单如下所述:<SharePoint:AspMenu
ID="TopNavigationMenuV4"
Runat="server"
EnableViewState="false"
DataSourceID="topCrossSiteMap"
AccessKey="<%$Resources:wss,navigation_accesskey%>"
UseSimpleRendering="true"
UseSeparateCss="false"
Orientation="Horizontal"
StaticDisplayLevels="1"
MaximumDynamicDisplayLevels="3"
SkipLinkText=""
CssClass="s4-tn"/>
<SharePoint:DelegateControl runat="server" ControlId="TopNavigationDataSource" Id="topNavigationDelegate">
<Template_Controls>
<asp:SiteMapDataSource
ShowStartingNode="False"
SiteMapProvider="CrossSiteMapProvider"
id="topCrossSiteMap"
runat="server" />
</Template_Controls>
</SharePoint:DelegateControl>
引发异常:
System.Web.HttpException:'TopNavigationMenuV4'的DataSourceID必须是IHierarchicalDataSource类型的控件的ID。找不到ID为“topCrossSiteMap”的控件。
在请求没有相关ID的记录之前2毫秒内在ULS中访问内容数据库时出现以下错误:
PermissionMask检查失败。要求0x00010000,有0x00000000
和
如果主页菜单如下所述:拒绝访问。例外:System.UnauthorizedAccessException:访问被拒绝。 (HRESULT异常:0x80070005(E_ACCESSDENIED))
在Microsoft.SharePoint.Library.SPRequestInternalClass.GetWebMetainfo(String bstrUrl)
在Microsoft.SharePoint.Library.SPRequest.GetWebMetainfo(String bstrUrl)。
<SharePoint:AspMenu
ID="TopNavigationMenuV4"
Runat="server"
EnableViewState="false"
DataSourceID="topSiteMap"
AccessKey="<%$Resources:wss,navigation_accesskey%>"
UseSimpleRendering="true"
UseSeparateCss="false"
Orientation="Horizontal"
StaticDisplayLevels="1"
MaximumDynamicDisplayLevels="3"
SkipLinkText=""
CssClass="s4-tn"/>
<SharePoint:DelegateControl runat="server" ControlId="TopNavigationDataSource" Id="topNavigationDelegate">
<Template_Controls>
<asp:SiteMapDataSource
ShowStartingNode="False"
SiteMapProvider="CrossSiteMapProvider"
id="topCrossSiteMap"
runat="server" />
</Template_Controls>
</SharePoint:DelegateControl>
一切正常,没有错误。但菜单显然正在使用SPNavigationProvider。
另一个细节:以不同方式显示网站集的不同面孔。 (一个丢失的错误,另一个没有改变) 首先想到的是http.sys对象中的问题。 试图重启WFE服务器。但它没有帮助。
答案 0 :(得分:0)
我找到了解决方案。但我找不到解释。 某些物种缓存的情况仍然如此。
当我在DelegateСontrol中更改了两个ID时,页面加载时没有错误。