SiteMapNodeCollection.Item Property (Int32)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Gets or sets the SiteMapNode object at the specified index in the collection.

Namespace:   System.Web
Assembly:  System.Web (in System.Web.dll)

public virtual SiteMapNode this[
	int index
] { get; set; }


Type: System.Int32

The index of the SiteMapNode to find.

Property Value

Type: System.Web.SiteMapNode

A SiteMapNode that represents an element in the SiteMapNodeCollection.

Exception Condition

The SiteMapNodeCollection is read-only.


index is less than zero.

- or -

index is great than the Count.


The value supplied to the setter is null.

You can use the Item indexer to iterate over the contents of a SiteMapNodeCollection collection or to replace the SiteMapNode object at a specified index.

The following code example demonstrates how to use the Item indexer to retrieve a SiteMapNode object from the SiteMapNodeCollection collection. In this example, a SiteMapNode object is removed from its position at the second element of the internal array using the Remove method and is appended to the array with the Add method. To insert a SiteMapNode object at a specific index, instead of appending it to the end of the array, use the Insert method.

// Move a node from one spot in the list to another.
try {
    Response.Write("Original node order: <BR>");
    foreach (SiteMapNode node in nodes) {
        Response.Write( node.Title + "<BR>");
    SiteMapNode aNode = nodes[1];

    Response.Write("Adding " + aNode.Title + " to the end of the collection.<BR>");

    Response.Write("Removing " + aNode.Title + " at position 1. <BR>");

    Response.Write("New node order: <BR>");
    foreach (SiteMapNode node in nodes) {
        Response.Write( node.Title + "<BR>");
catch (NotSupportedException nse) {
    Response.Write("NotSupportedException caught.<BR>");

.NET Framework
Available since 2.0
Return to top