StaticSiteMapProvider.AddNode Method (SiteMapNode, SiteMapNode)
Assembly: System.Web (in system.web.dll)
protected public: virtual void AddNode ( SiteMapNode^ node, SiteMapNode^ parentNode ) override
protected void AddNode ( SiteMapNode node, SiteMapNode parentNode )
protected internal override function AddNode ( node : SiteMapNode, parentNode : SiteMapNode )
Not applicable.
Parameters
- node
The SiteMapNode to add to the site map provider.
- parentNode
The SiteMapNode under which to add node.
| Exception type | Condition |
|---|---|
| node is a null reference (Nothing in Visual Basic). | |
| The SiteMapNode.Url or SiteMapNode.Key is already registered with the StaticSiteMapProvider. A site map node must be made up of pages with unique URLs or keys. |
The site map node that is identified by the node parameter is added to an internal collection and a parent-child relationship is created between it and the site map node that is identified by the parentNode parameter.
The URL for a site map node might be interpreted when it is added to the internal collections. Application-relative and relative URLs are expanded to application-absolute virtual paths, which are then used internally to store and access the individual instances of the SiteMapNode class. Other URLs, such as physical paths, paths with protocols in them, and UNC paths, are not interpreted.
The XmlSiteMapProvider class, which is derived from the StaticSiteMapProvider class, and is the default site map provider for ASP.NET, uses the Url property of a SiteMapNode object as a lookup key in its internal collections, by default. If the Url property of the SiteMapNode is set, it must be unique within the scope of the site map provider. The FindSiteMapNode method attempts to retrieve site map nodes based on their Url property. Otherwise, you can use the Key property and the corresponding FindSiteMapNodeFromKey method to retrieve site map nodes. If no Url or Key is specified, the site map provider automatically generates a Key to track the site map nodes.
Notes to Inheritors: When overriding the AddNode method, ensure that the Key property is set to a unique value when adding the site map node using the AddNode method.