SPNavigationNode Class
Represents a node in a hierarchical navigation structure for a Microsoft SharePoint Foundation Web site.
Inheritance Hierarchy
System.Object
Microsoft.SharePoint.Navigation.SPNavigationNode
Namespace: Microsoft.SharePoint.Navigation
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Available in Sandboxed Solutions: Yes
Available in SharePoint Online
Syntax
'Declaration
<SubsetCallableTypeAttribute> _
Public NotInheritable Class SPNavigationNode
'Usage
Dim instance As SPNavigationNode
[SubsetCallableTypeAttribute]
public sealed class SPNavigationNode
Remarks
Unlike the SPNavigationNodeCollection class, the SPNavigationNode class requires you to call the Update method to cause property changes to existing nodes to be saved to the database. However moves occur immediately.
Examples
The following console application prints a simple map of the navigation structure for a Web site.
using System;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Navigation;
namespace ConsoleApp
{
class Program
{
static void Main(string[] args)
{
using (SPSite site = new SPSite("https://localhost"))
{
using (SPWeb web = site.OpenWeb())
{
string format = "|-{0} (Id = {1})";
foreach (SPNavigationNode globalNode in web.Navigation.GlobalNodes)
{
Console.WriteLine(format, globalNode.Title, globalNode.Id);
foreach (SPNavigationNode childNode in globalNode.Children)
{
Console.WriteLine(" " + format, childNode.Title, childNode.Id);
}
Console.WriteLine("|");
}
}
}
Console.Write("\nPress ENTER to continue....");
Console.ReadLine();
}
}
}
Imports System
Imports Microsoft.SharePoint
Imports Microsoft.SharePoint.Navigation
Module ConsoleApp
Sub Main()
Using site As New SPSite("https://localhost")
Using web As SPWeb = site.OpenWeb()
Dim format As String = "|-{0} (Id = {1})"
For Each globalNode As SPNavigationNode In web.Navigation.GlobalNodes
Console.WriteLine(format, globalNode.Title, globalNode.Id)
For Each childNode As SPNavigationNode In globalNode.Children
Console.WriteLine(" " + format, childNode.Title, childNode.Id)
Next
Console.WriteLine("|")
Next
End Using
End Using
Console.Write(vbCrLf & "Press ENTER to continue....")
Console.Read()
End Sub
End Module
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
See Also
Reference
Microsoft.SharePoint.Navigation Namespace