【问题标题】:PotalSiteMapProvider doesn't return pagesPotalSiteMapProvider 不返回页面
【发布时间】:2011-05-23 08:21:29
【问题描述】:

PotalSiteMapProvider 不返回页面。我使用代码如下:

        PortalSiteMapProvider prov = PortalSiteMapProvider.CurrentNavSiteMapProviderNoEncode;
        prov.DynamicChildLimit = 0;
        prov.IncludeSubSites = PortalSiteMapProvider.IncludeOption.Always;
        prov.IncludePages = PortalSiteMapProvider.IncludeOption.Always;
        prov.IncludeHeadings = true;
        prov.IncludeAuthoredLinks = true;
        SiteMapNode root = prov.RootNode;

        //prov.IncludePages = PortalSiteMapProvider.IncludeOption.Always;
        SiteMapNodeCollection collection = prov.GetChildNodes(root);


        foreach (SiteMapNode thisNode in collection)
        {
            SiteMapNodeCollection thisCollection;
            if (thisNode.GetType() == typeof(PortalWebSiteMapNode))
            {
                prov.IncludePages = PortalSiteMapProvider.IncludeOption.Always;
                thisCollection = prov.GetChildNodes((PortalWebSiteMapNode)thisNode);
            }
        }

当我通过调试器查看时,thisCollection 从来没有任何子节点,尽管 thisNode 是一个有页面的 SubSite 节点。我做错了什么,如何获取该节点中的页面? 谢谢!

【问题讨论】:

    标签: sharepoint-2010 navigation portalsitemapprovider


    【解决方案1】:

    这是我不久前在一个项目中使用的代码。它似乎为我正确地拉出子页面。

    PortalSiteMapProvider portalProvider = (PortalSiteMapProvider)SiteMap.Providers["CurrentNavSiteMapProviderNoEncode"];
    PortalSiteMapNode currentNode = portalProvider.CurrentNode as PortalSiteMapNode;
    foreach (SiteMapNode childNode in currentNode.ChildNodes) {
       ...
    }
    

    【讨论】:

      猜你喜欢
      • 2017-06-28
      • 1970-01-01
      • 2020-05-12
      • 1970-01-01
      • 2014-09-16
      • 1970-01-01
      • 2017-05-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多