Поделиться через


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

Верхний узел в иерархии навигации по узлу. Корневой узел может быть только один.

Примеры

В следующем примере показано, как вызвать SiteMapPath.OnItemCreated метод после создания SiteMapNodeItem в методе SiteMapPath.InitializeItem . Этот пример является частью более крупного примера, предоставленного 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.

Применяется к

См. также раздел