MenuItemCollection MenuItemCollection MenuItemCollection MenuItemCollection Class

Определение

Представляет коллекцию пунктов меню в элементе управления Menu.Represents a collection of menu items in a Menu control. Этот класс не наследуется.This class cannot be inherited.

public ref class MenuItemCollection sealed : System::Collections::ICollection, System::Web::UI::IStateManager
public sealed class MenuItemCollection : System.Collections.ICollection, System.Web.UI.IStateManager
type MenuItemCollection = class
    interface ICollection
    interface IEnumerable
    interface IStateManager
Public NotInheritable Class MenuItemCollection
Implements ICollection, IStateManager
Наследование
MenuItemCollectionMenuItemCollectionMenuItemCollectionMenuItemCollection
Реализации

Примеры

В следующем примере кода показано, как для заполнения Items и ChildItems коллекций с помощью декларативного синтаксиса.The following code example demonstrates how to populate the Items and ChildItems collections using declarative syntax.


<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >

  <!-- For the hover styles of the Menu control to  -->
  <!-- work correctly, you must include this head   -->
  <!-- element.                                     -->
  <head runat="server">
    <title>Menu Declarative Example</title>
</head>

  <body>
    <form id="form1" runat="server">
    
      <h3>Menu Declarative Example</h3>
    
      <!-- Use declarative syntax to create the   -->
      <!-- menu structure. Submenu items are      -->
      <!-- created by nesting them in parent menu -->
      <!-- items.                                 -->
      <asp:menu id="NavigationMenu"
        disappearafter="2000"
        staticdisplaylevels="2"
        staticsubmenuindent="10" 
        orientation="Vertical"
        font-names="Arial" 
        target="_blank"  
        runat="server">
        
        <staticmenuitemstyle backcolor="LightSteelBlue"
          forecolor="Black"/>
        <statichoverstyle backcolor="LightSkyBlue"/>
        <dynamicmenuitemstyle backcolor="Black"
          forecolor="Silver"/>
        <dynamichoverstyle backcolor="LightSkyBlue"
          forecolor="Black"/>
      
        <items>
          <asp:menuitem navigateurl="Home.aspx" 
            text="Home"
            tooltip="Home">
            <asp:menuitem navigateurl="Music.aspx"
              text="Music"
              tooltip="Music">
              <asp:menuitem navigateurl="Classical.aspx" 
                text="Classical"
                tooltip="Classical"/>
              <asp:menuitem navigateurl="Rock.aspx"
                text="Rock"
                tooltip="Rock"/>
              <asp:menuitem navigateurl="Jazz.aspx"
                text="Jazz"
                tooltip="Jazz"/>
            </asp:menuitem>
            <asp:menuitem navigateurl="Movies.aspx"
              text="Movies"
              tooltip="Movies">
              <asp:menuitem navigateurl="Action.aspx"
                text="Action"
                tooltip="Action"/>
              <asp:menuitem navigateurl="Drama.aspx"
                text="Drama"
                tooltip="Drama"/>
              <asp:menuitem navigateurl="Musical.aspx"
                text="Musical"
                tooltip="Musical"/>
            </asp:menuitem>
          </asp:menuitem>
        </items>
      
      </asp:menu>

    </form>
  </body>
</html>


<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >

  <!-- For the hover styles of the Menu control to  -->
  <!-- work correctly, you must include this head   -->
  <!-- element.                                     -->
  <head runat="server">
    <title>Menu Declarative Example</title>
</head>

  <body>
    <form id="form1" runat="server">
    
      <h3>Menu Declarative Example</h3>
    
      <!-- Use declarative syntax to create the   -->
      <!-- menu structure. Submenu items are      -->
      <!-- created by nesting them in parent menu -->
      <!-- items.                                 -->
      <asp:menu id="NavigationMenu"
        disappearafter="2000"
        staticdisplaylevels="2"
        staticsubmenuindent="10" 
        orientation="Vertical"
        font-names="Arial" 
        target="_blank"  
        runat="server">
        
        <staticmenuitemstyle backcolor="LightSteelBlue"
          forecolor="Black"/>
        <statichoverstyle backcolor="LightSkyBlue"/>
        <dynamicmenuitemstyle backcolor="Black"
          forecolor="Silver"/>
        <dynamichoverstyle backcolor="LightSkyBlue"
          forecolor="Black"/>
      
        <items>
          <asp:menuitem navigateurl="Home.aspx" 
            text="Home"
            tooltip="Home">
            <asp:menuitem navigateurl="Music.aspx"
              text="Music"
              tooltip="Music">
              <asp:menuitem navigateurl="Classical.aspx" 
                text="Classical"
                tooltip="Classical"/>
              <asp:menuitem navigateurl="Rock.aspx"
                text="Rock"
                tooltip="Rock"/>
              <asp:menuitem navigateurl="Jazz.aspx"
                text="Jazz"
                tooltip="Jazz"/>
            </asp:menuitem>
            <asp:menuitem navigateurl="Movies.aspx"
              text="Movies"
              tooltip="Movies">
              <asp:menuitem navigateurl="Action.aspx"
                text="Action"
                tooltip="Action"/>
              <asp:menuitem navigateurl="Drama.aspx"
                text="Drama"
                tooltip="Drama"/>
              <asp:menuitem navigateurl="Musical.aspx"
                text="Musical"
                tooltip="Musical"/>
            </asp:menuitem>
          </asp:menuitem>
        </items>
      
      </asp:menu>

    </form>
  </body>
</html>

В следующем примере кода показано, как программным способом добавить MenuItem объект ChildItems коллекцию корневого пункта меню.The following code example demonstrates how to programmatically add a MenuItem object to the ChildItems collection of a root menu item.


<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    
  void Page_Load(Object sender, EventArgs e)
  {
    if (!IsPostBack)
    {
      // Retrieve the root menu item from the Items
      // collection of the Menu control using the indexer.
      MenuItem homeMenuItem = NavigationMenu.Items[0];

      // Create the submenu item.
      MenuItem newSubMenuItem = new MenuItem("New Category");

      // Add the submenu item to the ChildItems
      // collection of the root menu item.
      homeMenuItem.ChildItems.Add(newSubMenuItem);
    }
  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>MenuItemCollection Add Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>MenuItemCollection Add Example</h3>
    
      <asp:menu id="NavigationMenu"
        orientation="Vertical"
        target="_blank" 
        runat="server">
        
        <items>
          <asp:menuitem text="Home"
            tooltip="Home">
            <asp:menuitem text="Music"
              tooltip="Music">
              <asp:menuitem text="Classical"
                tooltip="Classical"/>
              <asp:menuitem text="Rock"
                tooltip="Rock"/>
              <asp:menuitem text="Jazz"
                tooltip="Jazz"/>
            </asp:menuitem>
            <asp:menuitem text="Movies"
              tooltip="Movies">
              <asp:menuitem text="Action"
                tooltip="Action"/>
              <asp:menuitem text="Drama"
                tooltip="Drama"/>
              <asp:menuitem text="Musical"
                tooltip="Musical"/>
            </asp:menuitem>
          </asp:menuitem>
        </items>

      </asp:menu>

    </form>
  </body>
</html>


<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    
  Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)

    If Not IsPostBack Then

      ' Retrieve the root menu item from the Items
      ' collection of the Menu control using the indexer.
      Dim homeMenuItem As MenuItem = NavigationMenu.Items(0)

      ' Create the submenu item.
      Dim newSubMenuItem = New MenuItem("New Category")

      ' Add the submenu item to the ChildItems
      ' collection of the root menu item.
      homeMenuItem.ChildItems.Add(newSubMenuItem)
    
    End If
      
  End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>MenuItemCollection Add Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>MenuItemCollection Add Example</h3>
    
      <asp:menu id="NavigationMenu"
        orientation="Vertical"
        target="_blank" 
        runat="server">
        
        <items>
          <asp:menuitem text="Home"
            tooltip="Home">
            <asp:menuitem text="Music"
              tooltip="Music">
              <asp:menuitem text="Classical"
                tooltip="Classical"/>
              <asp:menuitem text="Rock"
                tooltip="Rock"/>
              <asp:menuitem text="Jazz"
                tooltip="Jazz"/>
            </asp:menuitem>
            <asp:menuitem text="Movies"
              tooltip="Movies">
              <asp:menuitem text="Action"
                tooltip="Action"/>
              <asp:menuitem text="Drama"
                tooltip="Drama"/>
              <asp:menuitem text="Musical"
                tooltip="Musical"/>
            </asp:menuitem>
          </asp:menuitem>
        </items>

      </asp:menu>

    </form>
  </body>
</html>

Комментарии

MenuItemCollection Класс используется для хранения и управления коллекцией MenuItem объекты в Menu элемента управления.The MenuItemCollection class is used to store and manage a collection of MenuItem objects in the Menu control. Menu Управления использует MenuItemCollection класса для хранения его корневой меню элементы на Items свойство.The Menu control uses the MenuItemCollection class to store its root menu items in the Items property. Эта коллекция используется также для ChildItems свойство MenuItem объект для сохранения пункты подменю для пункта меню (если таковые имеются).This collection is also used for the ChildItems property of a MenuItem object to store a menu item's submenu items (if any).

MenuItemCollection Класс поддерживает несколько способов доступа к элементам в коллекции:The MenuItemCollection class supports several ways to access the items in the collection:

  • Используйте Item[Int32] индексатор для получения непосредственно MenuItem объект по указанному индексу (с нуля).Use the Item[Int32] indexer to directly retrieve a MenuItem object at a specific zero-based index.

  • Используйте GetEnumerator метод для создания перечислителя, который может использоваться для итерации по коллекции.Use the GetEnumerator method to create an enumerator that can be used to iterate through the collection.

  • Используйте CopyTo метод, чтобы скопировать содержимое коллекции в массив.Use the CopyTo method to copy the contents of the collection into an array.

Можно программно управлять MenuItemCollection объекту, добавляя и удаляя MenuItem объектов.You can programmatically manage a MenuItemCollection object by adding and removing MenuItem objects. Чтобы добавить в коллекцию пунктов меню, используйте Add или AddAt метод.To add menu items to the collection, use the Add or the AddAt method. Чтобы удалить узлы из коллекции, используйте Remove, RemoveAt, или Clear метод.To remove nodes from the collection, use the Remove, the RemoveAt, or the Clear method.

Примечание

Когда Menu управления привязан к источнику данных, Items и ChildItems коллекций заполняются автоматически каждый раз при привязке.When the Menu control is bound to a data source, the Items and ChildItems collections are automatically populated each time binding occurs. Любые изменения в коллекциях между привязками будут потеряны.Any changes to the collections between bindings will be lost. Чтобы сохранить эти изменения, обновить источник данных или вручную перестроить коллекции каждый раз, когда можно выполнить привязку.To retain these changes, either update the data source or manually rebuild the collection each time you bind.

MenuItemCollection Класс содержит свойства и методы, которые позволяют получить сведения о самой коллекции.The MenuItemCollection class contains properties and methods that allow you to retrieve information about the collection itself. Чтобы узнать, сколько элементов находятся в коллекции, используйте Count свойство.To find out how many items are in the collection, use the Count property. Если вы хотите определить, содержит ли коллекция определенный MenuItem , используйте Contains метод.If you want to determine whether the collection contains a certain MenuItem object, use the Contains method. Чтобы получить индекс MenuItem объекта в коллекции, используйте IndexOf метод.To get the index of a MenuItem object in the collection, use the IndexOf method.

Конструкторы

MenuItemCollection() MenuItemCollection() MenuItemCollection() MenuItemCollection()

Инициализирует новый экземпляр класса MenuItemCollection, используя значения по умолчанию.Initializes a new instance of the MenuItemCollection class using the default values.

MenuItemCollection(MenuItem) MenuItemCollection(MenuItem) MenuItemCollection(MenuItem) MenuItemCollection(MenuItem)

Инициализирует новый экземпляр класса MenuItemCollection, используя указанный родительский элемент меню (или владелец).Initializes a new instance of the MenuItemCollection class using the specified parent menu item (or owner).

Свойства

Count Count Count Count

Возвращает количество элементов меню, содержащихся в текущем объекте MenuItemCollection.Gets the number of menu items contained in the current MenuItemCollection object.

IsSynchronized IsSynchronized IsSynchronized IsSynchronized

Возвращает значение, указывающее на то, является ли доступ к объекту MenuItemCollection синхронизированным (потокобезопасным).Gets a value indicating whether access to the MenuItemCollection object is synchronized (thread safe).

Item[Int32] Item[Int32] Item[Int32] Item[Int32]

Возвращает объект MenuItem по указанному индексу в текущем объекте MenuItemCollection.Gets the MenuItem object at the specified index in the current MenuItemCollection object.

SyncRoot SyncRoot SyncRoot SyncRoot

Возвращает объект, который позволяет синхронизировать доступ к объекту MenuItemCollection.Gets an object that can be used to synchronize access to the MenuItemCollection object.

Методы

Add(MenuItem) Add(MenuItem) Add(MenuItem) Add(MenuItem)

Добавляет указанный объект MenuItem в конец текущего объекта MenuItemCollection.Appends the specified MenuItem object to the end of the current MenuItemCollection object.

AddAt(Int32, MenuItem) AddAt(Int32, MenuItem) AddAt(Int32, MenuItem) AddAt(Int32, MenuItem)

Вставляет указанный объект MenuItem в текущий объект MenuItemCollection по указанному индексу.Inserts the specified MenuItem object in the current MenuItemCollection object at the specified index location.

Clear() Clear() Clear() Clear()

Удаляет все элементы из текущего объекта MenuItemCollection.Removes all items from the current MenuItemCollection object.

Contains(MenuItem) Contains(MenuItem) Contains(MenuItem) Contains(MenuItem)

Определяет, присутствует ли в коллекции указанный объект MenuItem.Determines whether the specified MenuItem object is in the collection.

CopyTo(Array, Int32) CopyTo(Array, Int32) CopyTo(Array, Int32) CopyTo(Array, Int32)

Копирует все элементы из объекта MenuItemCollection в совместимый одномерный массив Array, начиная с указанного индекса в массиве назначения.Copies all the items from the MenuItemCollection object to a compatible one-dimensional Array, starting at the specified index in the target array.

CopyTo(MenuItem[], Int32) CopyTo(MenuItem[], Int32) CopyTo(MenuItem[], Int32) CopyTo(MenuItem[], Int32)

Копирует все элементы из объекта MenuItemCollection в совместимый одномерный массив объектов MenuItem, начиная с указанного индекса в массиве назначения.Copies all the items from the MenuItemCollection object to a compatible one-dimensional array of MenuItem objects, starting at the specified index in the target array.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

Возвращает перечислитель, который можно использовать для итерации элементов текущего объекта MenuItemCollection.Returns an enumerator that can be used to iterate through the items in the current MenuItemCollection object.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
IndexOf(MenuItem) IndexOf(MenuItem) IndexOf(MenuItem) IndexOf(MenuItem)

Определяет индекс указанного объекта MenuItem в коллекции.Determines the index of the specified MenuItem object in the collection.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
Remove(MenuItem) Remove(MenuItem) Remove(MenuItem) Remove(MenuItem)

Удаляет указанный объект MenuItem из объекта MenuItemCollection.Removes the specified MenuItem object from the MenuItemCollection object.

RemoveAt(Int32) RemoveAt(Int32) RemoveAt(Int32) RemoveAt(Int32)

Удаляет объект MenuItem по указанному индексу из текущего объекта MenuItemCollection.Removes the MenuItem object at the specified index location from the current MenuItemCollection object.

ToString() ToString() ToString() ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)

Явные реализации интерфейса

IStateManager.IsTrackingViewState IStateManager.IsTrackingViewState IStateManager.IsTrackingViewState IStateManager.IsTrackingViewState

Возвращает значение, указывающее, сохраняет ли объект MenuItemCollection изменения в состоянии просмотра.Gets a value that indicates whether the MenuItemCollection object is saving changes to its view state.

IStateManager.LoadViewState(Object) IStateManager.LoadViewState(Object) IStateManager.LoadViewState(Object) IStateManager.LoadViewState(Object)

Загружает сохраненное ранее состояние представления объекта MenuItemCollection.Loads the MenuItemCollection object's previously saved view state.

IStateManager.SaveViewState() IStateManager.SaveViewState() IStateManager.SaveViewState() IStateManager.SaveViewState()

Сохраняет изменения состояния представления в объекте Object.Saves the changes to view state to an Object.

IStateManager.TrackViewState() IStateManager.TrackViewState() IStateManager.TrackViewState() IStateManager.TrackViewState()

Выдает объекту MenuItemCollection инструкции отслеживать изменения в его состоянии представления.Instructs the MenuItemCollection object to track changes to its view state.

Методы расширения

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

Приводит элементы объекта IEnumerable к заданному типу.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

Выполняет фильтрацию элементов объекта IEnumerable по заданному типу.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

Позволяет осуществлять параллельный запрос.Enables parallelization of a query.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

Преобразует IEnumerable для IQueryable.Converts an IEnumerable to an IQueryable.

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

Дополнительно