Map Path. Create Control Hierarchy Method
Examines the site map structure provided by the SiteMapProvider and builds a child controls collection based on the styles and templates defined for the functional nodes.
protected: virtual void CreateControlHierarchy();
protected virtual void CreateControlHierarchy ();
abstract member CreateControlHierarchy : unit -> unit override this.CreateControlHierarchy : unit -> unit
Protected Overridable Sub CreateControlHierarchy ()
The CreateControlHierarchy method creates SiteMapNodeItem controls, associates them with the corresponding SiteMapNode objects from the current site map provider, and adds the nodes to the Controls collection.
The method begins by finding the SiteMap.CurrentNode, and then walks up the hierarchical tree of SiteMapNode objects, creating a SiteMapNodeItem for each one until the RootNode is reached. After each SiteMapNodeItem is created, but before it is bound to its corresponding SiteMapNode, the InitializeItem method is called. The InitializeItem method applies any templates or styles defined for a particular node type and creates and initializes any child controls that the SiteMapNodeItem contains. Finally, the InitializeItem method adds the child controls of the SiteMapNodeItem to the Controls collection.
Classes that extend the SiteMapPath control override the CreateControlHierarchy method to alter how the SiteMapNodeItem controls are created or added to the SiteMapPath control. The manipulation of individual node items is performed in the InitializeItem method, and most classes that extend SiteMapPath override that method only.