Assembly: System.Web (in system.web.dll)
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 System.Web.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.
The CreateControlHierarchy method is called from the CreateChildControls method.
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.