MenuItemCollection Třída

Definice

Představuje kolekci položek nabídky v ovládacím Menu prvku. Tuto třídu nelze dědit.

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
Dědičnost
MenuItemCollection
Implementuje

Příklady

Následující příklad kódu ukazuje, jak vyplnit Items a ChildItems kolekce pomocí deklarativní syntaxe.


<%@ 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>

Následující příklad kódu ukazuje, jak programově přidat MenuItem objekt do ChildItems kolekce položky kořenové nabídky.


<%@ 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>

Poznámky

Třída MenuItemCollection slouží k ukládání a správě kolekce MenuItem objektů v ovládacím Menu prvku. Ovládací Menu prvek používá MenuItemCollection třídu k uložení položek kořenové nabídky do Items vlastnosti. Tato kolekce se také používá pro vlastnost objektu MenuItem k ChildItems uložení podnabídek položky nabídky (pokud existuje).

Třída MenuItemCollection podporuje několik způsobů přístupu k položkám v kolekci:

  • Pomocí indexeru Item[] MenuItem můžete přímo načíst objekt na konkrétním indexu založeném na nule.

  • Použijte metodu GetEnumerator k vytvoření výčtu, který lze použít k iteraci v kolekci.

  • CopyTo Pomocí metody zkopírujte obsah kolekce do pole.

Objekt můžete programově spravovat MenuItemCollection přidáním a odebráním MenuItem objektů. Pokud chcete do kolekce přidat položky nabídky, použijte metodu Add nebo metodu AddAt . Pokud chcete odebrat uzly z kolekce, použijte Removemetodu RemoveAt, , nebo metodu Clear .

Poznámka

Menu Když je ovládací prvek vázán na zdroj dat, Items automaticky se vyplní při ChildItems každé vazbě. Všechny změny kolekcí mezi vazbami budou ztraceny. Pokud chcete tyto změny zachovat, aktualizujte zdroj dat nebo kolekci znovu vytvořte ručně při každém vytvoření vazby.

Třída MenuItemCollection obsahuje vlastnosti a metody, které umožňují načíst informace o samotné kolekci. Pokud chcete zjistit, kolik položek je v kolekci, použijte Count vlastnost. Pokud chcete zjistit, jestli kolekce obsahuje určitý MenuItem objekt, použijte metodu Contains . Chcete-li získat index MenuItem objektu v kolekci, použijte metodu IndexOf .

Konstruktory

MenuItemCollection()

Inicializuje novou instanci MenuItemCollection třídy pomocí výchozích hodnot.

MenuItemCollection(MenuItem)

Inicializuje novou instanci třídy pomocí zadané nadřazené položky MenuItemCollection nabídky (nebo vlastníka).

Vlastnosti

Count

Získá počet položek nabídky obsažených v aktuálním MenuItemCollection objektu.

IsSynchronized

Získá hodnotu určující, zda je přístup k objektu MenuItemCollection synchronizován (bezpečné vlákno).

Item[Int32]

MenuItem Získá objekt v zadaném indexu v aktuálním MenuItemCollection objektu.

SyncRoot

Získá objekt, který lze použít k synchronizaci přístupu k objektu MenuItemCollection .

Metody

Add(MenuItem)

Připojí zadaný MenuItem objekt na konec aktuálního MenuItemCollection objektu.

AddAt(Int32, MenuItem)

Vloží zadaný MenuItem objekt do aktuálního MenuItemCollection objektu v zadaném umístění indexu.

Clear()

Odebere všechny položky z aktuálního MenuItemCollection objektu.

Contains(MenuItem)

Určuje, zda je zadaný MenuItem objekt v kolekci.

CopyTo(Array, Int32)

Zkopíruje všechny položky z objektu do kompatibilního jednorozměrného Arrayobjektu MenuItemCollection počínaje zadaným indexem v cílovém poli.

CopyTo(MenuItem[], Int32)

Zkopíruje všechny položky z objektu MenuItemCollection do kompatibilního jednorozměrného pole MenuItem objektů počínaje zadaným indexem v cílovém poli.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetEnumerator()

Vrátí výčet, který lze použít k iteraci položek v aktuálním MenuItemCollection objektu.

GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Type Získá aktuální instanci.

(Zděděno od Object)
IndexOf(MenuItem)

Určuje index zadaného MenuItem objektu v kolekci.

MemberwiseClone()

Vytvoří použádnou kopii aktuálního souboru Object.

(Zděděno od Object)
Remove(MenuItem)

Odebere zadaný MenuItem objekt z objektu MenuItemCollection .

RemoveAt(Int32)

Odebere MenuItem objekt v zadaném umístění indexu z aktuálního MenuItemCollection objektu.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

IStateManager.IsTrackingViewState

Získá hodnotu, která označuje, zda MenuItemCollection objekt ukládá změny do stavu zobrazení.

IStateManager.LoadViewState(Object)

Načte dříve uložený stav zobrazení objektu MenuItemCollection .

IStateManager.SaveViewState()

Uloží změny pro zobrazení stavu do objektu Object.

IStateManager.TrackViewState()

Dává objektu MenuItemCollection pokyn ke sledování změn ve stavu zobrazení.

Metody rozšíření

Cast<TResult>(IEnumerable)

Přetypuje prvky zadaného IEnumerable typu.

OfType<TResult>(IEnumerable)

Filtruje prvky IEnumerable založené na zadaném typu.

AsParallel(IEnumerable)

Umožňuje paralelizaci dotazu.

AsQueryable(IEnumerable)

Převede na IEnumerable IQueryable.

Platí pro

Viz také