SiteMapPath.CreateControlHierarchy Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Prozkoumá strukturu mapy webu poskytovanou objektem SiteMapProvider a vytvoří kolekci podřízených ovládacích prvků na základě stylů a šablon definovaných pro funkční uzly.
protected:
virtual void CreateControlHierarchy();
protected virtual void CreateControlHierarchy ();
abstract member CreateControlHierarchy : unit -> unit
override this.CreateControlHierarchy : unit -> unit
Protected Overridable Sub CreateControlHierarchy ()
Výjimky
Ovládací SiteMapProvider prvek nemá k SiteMapPath dispozici žádnou možnost.
Poznámky
Metoda CreateControlHierarchy vytvoří SiteMapNodeItem ovládací prvky, přidruží je k odpovídajícím SiteMapNode objektům od aktuálního zprostředkovatele mapy webu a přidá uzly do Controls kolekce.
Metoda začíná vyhledáním objektu SiteMap.CurrentNodea pak přejde po hierarchickém stromu SiteMapNode objektů a vytvoří SiteMapNodeItem pro každý z nich objekt , dokud RootNode se nedosáhne hodnoty . Po vytvoření každého z nich SiteMapNodeItem , ale před tím, než je svázán s odpovídající SiteMapNodemetodou InitializeItem , je volána metoda . Metoda InitializeItem použije všechny šablony nebo styly definované pro konkrétní typ uzlu a vytvoří a inicializuje všechny podřízené ovládací prvky, které SiteMapNodeItem obsahuje. InitializeItem Nakonec metoda přidá podřízené ovládací prvky do SiteMapNodeItemControls kolekce.
Po inicializaci OnItemCreated se SiteMapNodeItem volá metoda . SiteMapNodeItem Potom je vázána na odpovídající SiteMapNodea OnDataBound je volána.
Metoda CreateControlHierarchy je volána z CreateChildControls metody .
Třídy, které rozšiřují SiteMapPath ovládací prvek, přepíší metodu CreateControlHierarchy tak, aby změnila SiteMapNodeItem způsob vytváření ovládacích prvků nebo jejich přidání do SiteMapPath ovládacího prvku. Manipulace s jednotlivými položkami uzlu se provádí v InitializeItem metodě a většina tříd, které rozšiřují SiteMapPath , přepíše pouze tuto metodu.