SiteMapNodeItemType 枚举

定义

SiteMapNodeItemType 枚举由 SiteMapPath 控件用来标识节点层次结构内的 SiteMapNodeItem 节点类型。

public enum class SiteMapNodeItemType
public enum SiteMapNodeItemType
type SiteMapNodeItemType = 
Public Enum SiteMapNodeItemType
继承
SiteMapNodeItemType

字段

Current 2

网站导航路径中当前正在查看的页。

Parent 1

网站导航路径中当前正在查看的页的父节点。 父节点是导航层次结构中位于根节点和当前节点之间的任何节点。

PathSeparator 3

网站地图导航路径分隔符。 SiteMapPath 控件的默认分隔符是“>”字符。

Root 0

网站导航层次结构的顶层节点。 只能有一个根节点。

示例

以下示例演示如何在方法中创建SiteMapNodeItemSiteMapPath.InitializeItem方法后调用SiteMapPath.OnItemCreated该方法。 此示例是为类提供的大型示例的 SiteMapPath 一部分。

private void AddDropDownListAfterCurrentNode(SiteMapNodeItem item) {

    SiteMapNodeCollection childNodes = item.SiteMapNode.ChildNodes;

    // Only do this work if there are child nodes.
    if (childNodes != null) {

        // Add another PathSeparator after the CurrentNode.
        SiteMapNodeItem finalSeparator =
            new SiteMapNodeItem(item.ItemIndex,
                                SiteMapNodeItemType.PathSeparator);

        SiteMapNodeItemEventArgs eventArgs =
            new SiteMapNodeItemEventArgs(finalSeparator);

        InitializeItem(finalSeparator);
        // Call OnItemCreated every time a SiteMapNodeItem is
        // created and initialized.
        OnItemCreated(eventArgs);

        // The pathSeparator does not bind to any SiteMapNode, so
        // do not call DataBind on the SiteMapNodeItem.
        item.Controls.Add(finalSeparator);

        // Create a DropDownList and populate it with the children of the
        // CurrentNode. There are no styles or templates that are applied
        // to the DropDownList control. If OnSelectedIndexChanged is raised,
        // the event handler redirects to the page selected.
        // The CurrentNode has child nodes.
        DropDownList ddList = new DropDownList();
        ddList.AutoPostBack = true;

        ddList.SelectedIndexChanged += new EventHandler(this.DropDownNavPathEventHandler);

        // Add a ListItem to the DropDownList for every node in the
        // SiteMapNodes collection.
        foreach (SiteMapNode node in childNodes) {
            ddList.Items.Add(new ListItem(node.Title, node.Url));
        }

        item.Controls.Add(ddList);
    }
}
Private Sub AddDropDownListAfterCurrentNode(item As SiteMapNodeItem)

   Dim childNodes As SiteMapNodeCollection = item.SiteMapNode.ChildNodes

   ' Only do this work if there are child nodes.
   If Not (childNodes Is Nothing) Then

      ' Add another PathSeparator after the CurrentNode.
      Dim finalSeparator As New SiteMapNodeItem(item.ItemIndex, SiteMapNodeItemType.PathSeparator)

      Dim eventArgs As New SiteMapNodeItemEventArgs(finalSeparator)

      InitializeItem(finalSeparator)
      ' Call OnItemCreated every time a SiteMapNodeItem is
      ' created and initialized.
      OnItemCreated(eventArgs)

      ' The pathSeparator does not bind to any SiteMapNode, so
      ' do not call DataBind on the SiteMapNodeItem.
      item.Controls.Add(finalSeparator)

      ' Create a DropDownList and populate it with the children of the
      ' CurrentNode. There are no styles or templates that are applied
      ' to the DropDownList control. If OnSelectedIndexChanged is raised,
      ' the event handler redirects to the page selected.
      ' The CurrentNode has child nodes.
      Dim ddList As New DropDownList()
      ddList.AutoPostBack = True

      AddHandler ddList.SelectedIndexChanged, AddressOf Me.DropDownNavPathEventHandler

      ' Add a ListItem to the DropDownList for every node in the
      ' SiteMapNodes collection.
      Dim node As SiteMapNode
      For Each node In  childNodes
         ddList.Items.Add(New ListItem(node.Title, node.Url))
      Next node

      item.Controls.Add(ddList)
   End If
End Sub

注解

控件 SiteMapPath 将其网站导航信息作为对象的集合 SiteMapNodeItem 进行管理。 SiteMapNodeItem 对象表示功能上不同类型的 SiteMapNode 节点。 因此,它们由 SiteMapPath 控件管理。 以下列表描述了可用的节点类型:

  • 一个表示当前查看的页面的节点。

  • 一个节点,它是站点导航层次结构的顶部节点。

  • 顶部节点与当前节点之间的零个或多个节点 (父节点) 。

  • 表示站点导航路径分隔符的零个或多个节点。

每个节点都绑定到基础 SiteMapNode,但 PathSeparator 类型的节点除外。

适用于

另请参阅