PortalSiteMapProvider.GetChildNodes Method (SiteMapNode)
Returns a security-trimmed collection of child nodes from a specified parent node.
Namespace: Microsoft.SharePoint.Publishing.Navigation
Assembly: Microsoft.SharePoint.Publishing (in Microsoft.SharePoint.Publishing.dll)
Syntax
'Declaration
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
Public Overrides Function GetChildNodes ( _
node As SiteMapNode _
) As SiteMapNodeCollection
'Usage
Dim instance As PortalSiteMapProvider
Dim node As SiteMapNode
Dim returnValue As SiteMapNodeCollection
returnValue = instance.GetChildNodes(node)
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
public override SiteMapNodeCollection GetChildNodes(
SiteMapNode node
)
Parameters
- node
Type: System.Web.SiteMapNode
Node whose children are returned.
Return Value
Type: System.Web.SiteMapNodeCollection
A security-trimmed SiteMapNodeCollection object of child nodes.
Examples
The following example references the following assemblies:
System.dll
System.Data.dll
System.Xml.dll
System.Web.dll
System.Configuration.dll
Microsoft.SharePoint.dll
Microsoft.SharePoint.Library.dll
Microsoft.SharePoint.Publishing.dll
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Web;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Navigation;
using Microsoft.SharePoint.Publishing;
using Microsoft.SharePoint.Publishing.Navigation;
namespace Microsoft.SDK.SharePointServer.Samples
{
class GetChildNodesSample
{
// Get a list of the navigation headings beneath a specified
// Web cell in current navigation. This method must be called from
// within a current and valid HttpContext object.
public static List<string>GetNavigationHeadingTitles(string serverRelativeWebUrl)
{
List<string> titles = null;
// Get a reference to the current navigation provider:
// the one that doesn't HTML-encode titles.
PortalSiteMapProvider portalProvider = PortalSiteMapProvider.CurrentNavSiteMapProviderNoEncode;
// Look up the node for the given Web site URL.
PortalWebSiteMapNode webNode =
portalProvider.FindSiteMapNode(serverRelativeWebUrl) as PortalWebSiteMapNode;
if (webNode != null)
{
// Retrieve the heading nodes beneath the
// specified Web site.
SiteMapNodeCollection headingNodes =
portalProvider.GetChildNodes(webNode, NodeTypes.Heading, NodeTypes.None);
titles = new List<string>(headingNodes.Count);
foreach (PortalSiteMapNode headingNode in headingNodes)
{
// Add the title to the list.
titles.Add(headingNode.Title);
}
}
// Return the list of titles.
return titles;
}
}
}