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控件,将它们与当前站点地图提供程序中的Controls相应SiteMapNode对象相关联,并将节点添加到集合中。

该方法首先查找 SiteMap.CurrentNode对象,然后遍查对象的分层树 SiteMapNode ,为每个对象创建一个 SiteMapNodeItem ,直到 RootNode 到达。 创建每个 SiteMapNodeItem 方法后,但在绑定到相应的 SiteMapNode方法之前,将调用该方法 InitializeItem 。 该方法 InitializeItem 应用为特定节点类型定义的任何模板或样式,并创建并初始化包含的任何子控件 SiteMapNodeItem 。 最后,该方法 InitializeItem 将集合 SiteMapNodeItem 的子控件添加到 Controls 集合中。

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

该方法 CreateControlHierarchy 是从该方法调用的 CreateChildControls

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

适用于

另请参阅