SiteMapNode Constructor (SiteMapProvider, String, String)


Initializes a new instance of the SiteMapNode class using the specified URL, a key to identify the page that the node represents, and the site map provider that manages the node.

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

public SiteMapNode(
	SiteMapProvider provider,
	string key,
	string url


Type: System.Web.SiteMapProvider

The SiteMapProvider with which the node is associated.

Type: System.String

A provider-specific lookup key.

Type: System.String

The URL of the page that the node represents within the site.

Exception Condition

SiteMapProvider is null.

- or -

key is null.

The XmlSiteMapProvider class, which is the default SiteMapProvider provider implementation for ASP.NET, uses the SiteMapNode.Url property as a lookup key, if one is provided for the node (if a URL is not provided, a tracking identifier is generated for the node). Therefore, any SiteMapNode object that provides a URL and is used by the XmlSiteMapProvider must have a unique URL within the scope of the provider.

The following code example demonstrates how to use the SiteMapNodeCollection constructor to create a new SiteMapNodeCollection collection, and then add elements to it with the Add method.

// The LoadSiteMapData() method loads site navigation
// data from persistent storage into a DataTable.
DataTable siteMap = LoadSiteMapData();

// Create a SiteMapNodeCollection.
SiteMapNodeCollection nodes = new SiteMapNodeCollection();

// Create a SiteMapNode and add it to the collection.
SiteMapNode tempNode;
DataRow row;
int index = 0;

while (index < siteMap.Rows.Count)

    row = siteMap.Rows[index];

    // Create a node based on the data in the DataRow.
    tempNode = new SiteMapNode(SiteMap.Provider,

    // Add the node to the collection.

.NET Framework
Available since 2.0
Return to top