SiteMapNode Constructor (SiteMapProvider^, String^, String^, String^)
Initializes a new instance of the SiteMapNode class using the specified URL, a key to identify the page that the node represents, a title, and the site map provider that manages the node.
Assembly: System.Web (in System.Web.dll)
Parameters
- provider
-
Type:
System.Web::SiteMapProvider^
The SiteMapProvider with which the node is associated.
- key
-
Type:
System::String^
A provider-specific lookup key.
- url
-
Type:
System::String^
The URL of the page that the node represents within the site.
- title
-
Type:
System::String^
A label for the node, often displayed by navigation controls.
| Exception | Condition |
|---|---|
| ArgumentNullException |
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.
If no title is provided, calls to the Title property return the String::Empty field.
The following code example demonstrates how to use the SiteMapNode constructor to create a new instance of the SiteMapNode class. The node is initialized with values from a Microsoft Access database row.
This code example is part of a larger example provided for the BuildSiteMap method.
OleDbCommand^ rootNodeCommand = gcnew OleDbCommand ("SELECT nodeid, url, name FROM SiteMap WHERE parentnodeid IS NULL", accessConnection); OleDbDataReader^ rootNodeReader = rootNodeCommand->ExecuteReader(); if ( rootNodeReader->HasRows ) { rootNodeReader->Read(); rootNodeId = rootNodeReader->GetInt32( 0 ); // Create a SiteMapNode that references the current StaticSiteMapProvider. rootNode = gcnew SiteMapNode(this, rootNodeId.ToString(), rootNodeReader->GetString( 1 ),rootNodeReader->GetString( 2 )); } else return nullptr; rootNodeReader->Close();
Available since 2.0