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

SPNavigationNode Members

Microsoft.SharePoint.Navigation Namespace

Microsoft.SharePoint.Navigation.SPNavigation

Microsoft.SharePoint.Navigation.SPNavigationNodeCollection