我为我的英语感到抱歉。我正在尝试放置一个自定义提供商,但是当我在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。找不到具有" TopCrossSitemap"的ID控件。
和在访问无关ID的记录之前,在2毫秒的ULS中,访问内容数据库时有以下错误:
许可mask检查失败。要求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>
一切都没有错误。但是菜单显然正在使用Spnavigation Provider。
和另一个细节:以不同方式显示网站收集的不同面孔。(一个在另一个没有任何变化的情况下退出错误)首先认为对象http.sys中的问题。试图重新启动WFE服务器。但这无济于事。
我找到了解决方案。但是我找不到解释。在某些物种缓存中仍然是这种情况。
当我在委托控制两个ID中更改时,该页面已加载而没有错误。