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)
Public Sub New ( provider As SiteMapProvider, key As String, url As String, title As String )
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.
Dim rootNodeCommand As New OleDbCommand("SELECT nodeid, url, name FROM SiteMap WHERE parentnodeid IS NULL", accessConnection) Dim rootNodeReader As OleDbDataReader = rootNodeCommand.ExecuteReader() If rootNodeReader.HasRows Then rootNodeReader.Read() rootNodeId = rootNodeReader.GetInt32(0) ' Create a SiteMapNode that references the current StaticSiteMapProvider. aRootNode = New SiteMapNode(Me, rootNodeId.ToString(), rootNodeReader.GetString(1), rootNodeReader.GetString(2)) Else Return Nothing End If rootNodeReader.Close()
Available since 2.0