DataSourceID «V4QuicklaunchMenu» должен быть идентификатор контроля типа IHIERARCHICALDATATATATATASORCE

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/91437

Вопрос

Я пытаюсь сделать левую панель навигации в SharePoint 2010 с этим Teckniq= http://www.helppmeonsharepoint.com/2012/03/custom-sharepoint-top-manu-and.html

у меня есть этот массаж ошибок :

Датазорсид 'v4quicklaunchmenu' должен быть идентификатором контроля типа IHIERARCHICALDATATATATATASORCE. Не удалось найти управление с идентификатором «QuickLaunchSitemap».

<Сильная> Ошибка Sorce:

Необработанное исключение было создано во время выполнения текущего веб-запроса. Информация о происхождении и местоположении исключения может быть идентифицирована с использованием следа стека исключения ниже.

TRACE Stack

[httpException (0x80004005): DataSourceId 'v4quicklaunchmenu' должен быть идентификатором контроля типа iHierarchicalDataSource. Контроль с ID 'Quicklaunchsitemap' не найден.] System.web.ui.webcontrols.hierarchicaldataboundControl.getdataTasource () +2335265 System.web.ui.webcontrols.hierarchicaldataboundControl.connectTohierarchicalDataSource () +212 System.web.ui.webcontrols.hierarchicaldataboundControl.Onload (eventargs e) +28 System.web.ui.control.loadrecursive () +66 System.web.ui.control.loadrecursive () +191 System.web.ui.control.loadrecursive () +191 System.web.ui.control.loadrecursive () +191 System.web.ui.control.loadrecursive () +191 System.web.ui.control.loadrecursive () +191 System.web.ui.control.loadrecursive () +191 System.web.ui.control.loadrecursive () +191 System.Web.ui.page.processRequestmain (Boolean InductionSagebeforeasyncpoint, Boolean IndeStageAfterasyncpoint) +2428

Я нашел , что он может пчела много разных, чтобы узнать, почему эта гапендия. Я попытался изменить мой XML-файл без SUCSESS. Я надеюсь, что вы поймете, что я делаю не так.

Я опубликую части моего кода, который я думаю, это актуальна, здесь мой код:

в web.config внутри sitemap-> поставщики я добавил это:

<add name="CustomNavigationProvider"
                                    type="BNS.Intranet.HR.CustomPortalNavigation, BNS.Intranet.HR, Version=1.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" NavigationType="Current" />
.

<Сильный> CS-файл

    namespace BNS.Intranet.HR
{
    public class CustomPortalNavigation : PortalSiteMapProvider
    {
        public override SiteMapNodeCollection GetChildNodes(System.Web.SiteMapNode node)
        {
            PortalSiteMapNode pNode = node as PortalSiteMapNode;
            if (pNode != null)
            {
                if (pNode.Type == NodeTypes.Area)
                {
                    SiteMapNodeCollection nodeColl = base.GetChildNodes(pNode);
                    PortalSiteMapNode childNode = new PortalSiteMapNode(pNode.WebNode, "1", NodeTypes.Area, "http://sp2010dev04/navi/",
                        "1", "1");

                    PortalSiteMapNode childNode1 = null;
                    for (int i = 0; i < 20; i++)
                    {
                        childNode1 = new PortalSiteMapNode(childNode.WebNode, "1.1" + i, NodeTypes.Area,
                                    "http://sp2010dev04/navi", "1.1", "1.1");
                    }

                    nodeColl.Add(childNode);
                    SiteMapNodeCollection test = new SiteMapNodeCollection();
                    if (childNode1 != null)
                    {
                        test.Add(childNode1);
                        childNode.ChildNodes = test;
                    }
                    return nodeColl;
                }
                else // Shouldn't it always return base.GetChildNodes?
                    return base.GetChildNodes(pNode);
            }
            else  // Only return new SiteMapNodeCollection when pNode is null?
                return new SiteMapNodeCollection();
        }
.

Элементы .xml-файл

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    <Control Id="QuickLaunchDataSource" Sequence="30"
             ControlClass="System.Web.UI.WebControls.SiteMapDataSource"
             ControlAssembly="System.Web, Version=2.0.3600.0, Culture=Neutral, PublicTokenKey=71e9bce111e9429">
        <Property Name="ID">QuickLaunchSiteMap</Property>
        <Property Name="SiteMapProvider">CustomSiteMapProvider</Property>
        <Property Name="EnableSecurityTrimming">false</Property>
        <Property Name="EnableViewState">true</Property>
        <Property Name="ShowStartingNode">false</Property>
        <Property Name="StartingNodeOffset">0</Property>
        <Property Name="StartFromCurrentNode">false</Property>
    </Control>
    <HideCustomAction Id="QuickLaunch"
                     HideActionId="QuickLaunch"
                     GroupId="Customization"
                     Location="Microsoft.SharePoint.SiteSettings" />
</Elements>
.

Мой делегат элементы управления в MasterPage

<SharePoint:DelegateControl ID="DelegateControl5" runat="server" ControlId="QuickLaunchDataSource">
    <Template_Controls>
                    <asp:SiteMapDataSource SiteMapProvider="SPNavigationProvider" ShowStartingNode="False" id="QuickLaunchSiteMap" StartingNodeUrl="sid:1025" runat="server" />
                 </Template_Controls>
</SharePoint:DelegateControl>
.

Два новых

<SharePoint:DelegateControl runat="server" ControlId="TopNavigationDataSource" Id="DelegateControl8">
  <Template_Controls>
   <asp:SiteMapDataSource
     ShowStartingNode="False"
     SiteMapProvider="SPNavigationProvider"
     id="SiteMapDataSource1"
     runat="server"
     StartingNodeUrl="sid:1002"/>
  </Template_Controls>
 </SharePoint:DelegateControl>

<SharePoint:DelegateControl ID="DelegateControl9" runat="server" ControlId="QuickLaunchDataSource">
<Template_Controls>
  <asp:SiteMapDataSource SiteMapProvider="SPNavigationProvider"
ShowStartingNode="False"
id="SiteMapDataSource2"
StartingNodeUrl="sid:1025"
runat="server" />
 </Template_Controls>
</SharePoint:DelegateControl>
.

Это было полезно?

Решение

Try adding Both Delegate controls and it should resolve your problem.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top