我很抱歉我的英語。 我試圖把一個自定義提供程序,但是當我在我的SiteMapDataSource提供程序中寫入時,沒有任何更改。當我更改自己的ID並相應地更改其DataSourceID頁面中的屬性時,會出現一個錯誤,說明它不是。他記得TopSiteMap ID並且不想編譯其他。無法更改aspmenu中的DataSourceID
提供者已在Web配置中註冊並且在其他網站集中正常工作。但是這個人有一個bug。
如果如所描述的主頁菜單:<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必須是類型的控制的ID IHierarchicalDataSource。無法找到ID爲「topCrossSiteMap」的控件。
而且在ULS在2毫秒請求記錄而不correletion ID之前訪問內容數據庫時有以下錯誤:
PermissionMask檢查失敗。要求0x00010000在,已00000000
和
如果所描述的母版頁菜單:拒絕訪問。異常:System.UnauthorizedAccessException:訪問被拒絕。 (從HRESULT異常:0X80070005(E_ACCESSDENIED))
在Microsoft.SharePoint.Library.SPRequestInternalClass.GetWebMetainfo(字符串bstrUrl)
在Microsoft.SharePoint.Library.SPRequest.GetWebMetainfo(字符串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服務器。但它沒有幫助。
歡迎來到StackOver社區。你能否提供我們你的代碼和表格結構,以便我們能夠更好地幫助你? – Marek
@Marek謝謝。我希望對你有所幫助。我添加了更詳細的說明。 – Musisimaru