title: Can not change DataSourceID in aspmenu
body: <p>I'm sorry for my english.
  I'm trying to put a custom provider, but when I write in my SiteMapDataSource provider, nothing changes. When I change his ID and correspondingly changing its attributes in DataSourceID page gives an error that it is not. He remembered TopSiteMap ID and do not want to compile other.</p>
  
  <hr>
  
  <p>Provider is registered in the web config and in other site collections working properly. But this one had a bug.</p>
  
  <strong>If the master page menu as described:</strong>
  
  <pre><code>&lt;SharePoint:AspMenu
        ID="TopNavigationMenuV4"
        Runat="server"
        EnableViewState="false"
        DataSourceID="topCrossSiteMap"
        AccessKey="&lt;%$Resources:wss,navigation_accesskey%&gt;"
        UseSimpleRendering="true"
        UseSeparateCss="false"
        Orientation="Horizontal"
        StaticDisplayLevels="1"
        MaximumDynamicDisplayLevels="3"
        SkipLinkText=""
        CssClass="s4-tn"/&gt;
  &lt;SharePoint:DelegateControl runat="server" ControlId="TopNavigationDataSource" Id="topNavigationDelegate"&gt;
      &lt;Template_Controls&gt;
          &lt;asp:SiteMapDataSource
            ShowStartingNode="False"
            SiteMapProvider="CrossSiteMapProvider"
            id="topCrossSiteMap"
            runat="server" /&gt;
      &lt;/Template_Controls&gt;
  &lt;/SharePoint:DelegateControl&gt;
  </code></pre>
  
  <p>Throws an exception: </p>
  
  <blockquote>
    <p>System.Web.HttpException: The DataSourceID of 'TopNavigationMenuV4' must be the ID of a control of type IHierarchicalDataSource.  A control with ID 'topCrossSiteMap' could not be found.</p>
  </blockquote>
  
  <p>And in the ULS in 2 milliseconds before requesting records without correletion ID have the following error when accessing the content database:</p>
  
  <blockquote>
    <p>PermissionMask check failed. asking for 0x00010000, have 0x00000000</p>
  </blockquote>
  
  <p>and</p>
  
  <blockquote>
    <p>Access Denied. Exception: System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))<br>
     at Microsoft.SharePoint.Library.SPRequestInternalClass.GetWebMetainfo(String bstrUrl)<br>
     at Microsoft.SharePoint.Library.SPRequest.GetWebMetainfo(String bstrUrl).</p>
  </blockquote>
  
  <strong>If the master page menu as described:</strong>
  
  <pre><code>&lt;SharePoint:AspMenu
        ID="TopNavigationMenuV4"
        Runat="server"
        EnableViewState="false"
        DataSourceID="topSiteMap"
        AccessKey="&lt;%$Resources:wss,navigation_accesskey%&gt;"
        UseSimpleRendering="true"
        UseSeparateCss="false"
        Orientation="Horizontal"
        StaticDisplayLevels="1"
        MaximumDynamicDisplayLevels="3"
        SkipLinkText=""
        CssClass="s4-tn"/&gt;
  &lt;SharePoint:DelegateControl runat="server" ControlId="TopNavigationDataSource" Id="topNavigationDelegate"&gt;
      &lt;Template_Controls&gt;
          &lt;asp:SiteMapDataSource
            ShowStartingNode="False"
            SiteMapProvider="CrossSiteMapProvider"
            id="topCrossSiteMap"
            runat="server" /&gt;
      &lt;/Template_Controls&gt;
  &lt;/SharePoint:DelegateControl&gt;
  </code></pre>
  
  <p>Everything works without errors. But the menu is clearly using SPNavigationProvider.</p>
  
  <p><strong>And another detail:</strong> different faces of site collection displayed in different ways. (one dropped out error on the other nothing has changed)
  First thought that the problem in the object http.sys.
  Tried to restart the WFE servers. But it did not help.</p>