次の方法で共有


SiteMapPath.CreateControlHierarchy メソッド

定義

SiteMapProvider によって提供されるサイト マップ構造を調べ、機能ノードに定義されたスタイルとテンプレートに基づいて子コントロールのコレクションを構築します。

protected:
 virtual void CreateControlHierarchy();
protected virtual void CreateControlHierarchy ();
abstract member CreateControlHierarchy : unit -> unit
override this.CreateControlHierarchy : unit -> unit
Protected Overridable Sub CreateControlHierarchy ()

例外

SiteMapProvider コントロールに使用できる SiteMapPath がありません。

注釈

メソッドは CreateControlHierarchy コントロールを作成 SiteMapNodeItem し、現在のサイト マップ プロバイダーの対応する SiteMapNode オブジェクトに関連付け、ノードをコレクションに Controls 追加します。

メソッドは、 をSiteMap.CurrentNode見つけることから始まり、オブジェクトのSiteMapNode階層ツリーを上に移動し、 に到達するまでRootNode各オブジェクトの を作成SiteMapNodeItemします。 各 SiteMapNodeItem が作成された後、対応する SiteMapNodeにバインドされる前に、 InitializeItem メソッドが呼び出されます。 メソッドは InitializeItem 、特定のノード型に対して定義されているすべてのテンプレートまたはスタイルを適用し、 に含まれるすべての子コントロールを SiteMapNodeItem 作成および初期化します。 最後に、 メソッドは InitializeItem の子コントロールを SiteMapNodeItem コレクションに Controls 追加します。

SiteMapNodeItem が初期化されると、 OnItemCreated メソッドが呼び出されます。 次に、 SiteMapNodeItem が対応する SiteMapNodeにバインドされ、 OnDataBound が呼び出されます。

メソッドは CreateControlHierarchy 、 メソッドから呼び出されます CreateChildControls

コントロールを拡張するクラスは SiteMapPath 、 メソッドを CreateControlHierarchy オーバーライドして、コントロールの SiteMapNodeItem 作成方法またはコントロールへの追加方法を SiteMapPath 変更します。 個々のノード項目の操作は メソッドで InitializeItem 実行され、拡張 SiteMapPath するほとんどのクラスは、そのメソッドのみをオーバーライドします。

適用対象

こちらもご覧ください