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 ,为每个对象创建 一个 , SiteMapNodeItem 直到 RootNode 到达 。 创建每个 SiteMapNodeItem 方法后,但在绑定到其相应的 SiteMapNode之前, InitializeItem 将调用 方法。 方法 InitializeItem 应用为特定节点类型定义的任何模板或样式,并创建和初始化 包含的任何子控件 SiteMapNodeItem 。 最后, InitializeItem 方法将 的 SiteMapNodeItem 子控件添加到集合中 Controls

初始化每个 SiteMapNodeItem 方法后, OnItemCreated 将调用 方法。 SiteMapNodeItem然后将 绑定到其相应的 SiteMapNode,并OnDataBound调用 。

方法 CreateControlHierarchyCreateChildControls 方法调用。

扩展控件的 SiteMapPath 类会替代 方法, CreateControlHierarchy 以更改控件的 SiteMapNodeItem 创建或添加到控件的方式 SiteMapPath 。 单个节点项的操作在 方法中 InitializeItem 执行,大多数扩展 SiteMapPath 的类仅重写该方法。

适用于

另请参阅