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.

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

public:
SiteMapNode(
	SiteMapProvider^ provider,
	String^ key,
	String^ url,
	String^ title
)

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

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.

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();

.NET Framework
Available since 2.0
Return to top
Show: