Freigeben über


MenuItemCollection Klasse

Definition

Stellt eine Auflistung von Menüelementen in einem Menu-Steuerelement dar. Diese Klasse kann nicht vererbt werden.

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
Vererbung
MenuItemCollection
Implementiert

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die Items Auflistungen und ChildItems mithilfe der deklarativen Syntax aufgefüllt werden.


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

Im folgenden Codebeispiel wird veranschaulicht, wie Sie der ChildItems Auflistung eines MenuItem Stammmenüelements programmgesteuert ein Objekt hinzufügen.


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

Hinweise

Die MenuItemCollection -Klasse wird verwendet, um eine Auflistung von MenuItem Objekten im Menu Steuerelement zu speichern und zu verwalten. Das Menu Steuerelement verwendet die MenuItemCollection -Klasse, um seine Stammmenüelemente in der Items -Eigenschaft zu speichern. Diese Auflistung wird auch für die ChildItems -Eigenschaft eines MenuItem -Objekts verwendet, um die Untermenüelemente eines Menüelements (falls vorhanden) zu speichern.

Die MenuItemCollection -Klasse unterstützt mehrere Möglichkeiten, auf die Elemente in der Auflistung zuzugreifen:

  • Verwenden Sie den Item[] Indexer, um ein MenuItem Objekt direkt bei einem bestimmten nullbasierten Index abzurufen.

  • Verwenden Sie die GetEnumerator -Methode, um einen Enumerator zu erstellen, der zum Durchlaufen der Auflistung verwendet werden kann.

  • Verwenden Sie die CopyTo -Methode, um den Inhalt der Auflistung in ein Array zu kopieren.

Sie können ein MenuItemCollection Objekt programmgesteuert verwalten, indem Sie Objekte hinzufügen und entfernen MenuItem . Verwenden Sie Add die -Methode oder AddAt , um der Auflistung Menüelemente hinzuzufügen. Um Knoten aus der Auflistung zu entfernen, verwenden Sie die Remove-, - RemoveAtoder - Clear Methode.

Hinweis

Wenn das Menu Steuerelement an eine Datenquelle gebunden ist, werden die Items Auflistungen und ChildItems automatisch bei jeder Bindung aufgefüllt. Alle Änderungen an den Sammlungen zwischen Bindungen gehen verloren. Um diese Änderungen beizubehalten, aktualisieren Sie entweder die Datenquelle, oder erstellen Sie die Sammlung bei jeder Bindung manuell neu.

Die MenuItemCollection -Klasse enthält Eigenschaften und Methoden, mit denen Sie Informationen über die Sammlung selbst abrufen können. Verwenden Sie die -Eigenschaft, um herauszufinden, wie viele Elemente sich in der Count Auflistung befinden. Wenn Sie ermitteln möchten, ob die Auflistung ein bestimmtes MenuItem Objekt enthält, verwenden Sie die Contains -Methode. Verwenden IndexOf Sie die -Methode, um den Index eines MenuItem Objekts in der Auflistung abzurufen.

Konstruktoren

MenuItemCollection()

Initialisiert eine neue Instanz der MenuItemCollection-Klasse unter Verwendung der Standardwerte.

MenuItemCollection(MenuItem)

Initialisiert eine neue Instanz der MenuItemCollection-Klasse unter Verwendung des angegebenen übergeordneten Menüelements (oder Besitzers).

Eigenschaften

Count

Ruft die Anzahl der im aktuellen MenuItemCollection-Objekt enthaltenen Menüelemente ab.

IsSynchronized

Ruft einen Wert ab, der angibt, ob der Zugriff auf das MenuItemCollection-Objekt synchronisiert (threadsicher) ist.

Item[Int32]

Ruft das MenuItem-Objekt am angegebenen Index im aktuellen MenuItemCollection-Objekt ab.

SyncRoot

Ruft ein Objekt ab, mit dem der Zugriff auf das MenuItemCollection-Objekt synchronisiert werden kann.

Methoden

Add(MenuItem)

Fügt das angegebene MenuItem-Objekt an das Ende des aktuellen MenuItemCollection-Objekts an.

AddAt(Int32, MenuItem)

Fügt das angegebene MenuItem-Objekt im aktuellen MenuItemCollection-Objekt an der angegebenen Indexposition ein.

Clear()

Entfernt alle Elemente aus dem aktuellen MenuItemCollection-Objekt.

Contains(MenuItem)

Bestimmt, ob das angegebene MenuItem-Objekt in der Auflistung vorhanden ist.

CopyTo(Array, Int32)

Kopiert alle Elemente aus dem MenuItemCollection-Objekt in ein kompatibles eindimensionales Array, wobei bei dem angegebenen Index des Zielarrays begonnen wird.

CopyTo(MenuItem[], Int32)

Kopiert alle Elemente aus dem MenuItemCollection-Objekt in ein kompatibles eindimensionales Array von MenuItem-Objekten, wobei am angegebenen Index des Zielarrays begonnen wird.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetEnumerator()

Gibt einen Enumerator zurück, mit dem die Elemente im aktuellen MenuItemCollection-Objekt durchlaufen werden können.

GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
IndexOf(MenuItem)

Bestimmt den Index des angegebenen MenuItem-Objekts in der Auflistung.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
Remove(MenuItem)

Entfernt das angegebene MenuItem-Objekt aus dem MenuItemCollection-Objekt.

RemoveAt(Int32)

Entfernt das MenuItem-Objekt an der angegebenen Indexposition aus dem aktuellen MenuItemCollection-Objekt.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

IStateManager.IsTrackingViewState

Ruft einen Wert ab, der angibt, ob das MenuItemCollection-Objekt Änderungen des Ansichtszustands speichert.

IStateManager.LoadViewState(Object)

Lädt den zuvor gespeicherten Ansichtszustand des MenuItemCollection-Objekts.

IStateManager.SaveViewState()

Speichert die Änderungen am Ansichtszustand in einem Object.

IStateManager.TrackViewState()

Weist das MenuItemCollection-Objekt an, Änderungen am Ansichtszustand nachzuverfolgen.

Erweiterungsmethoden

Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ um

OfType<TResult>(IEnumerable)

Filtert die Elemente eines IEnumerable anhand eines angegebenen Typs

AsParallel(IEnumerable)

Ermöglicht die Parallelisierung einer Abfrage.

AsQueryable(IEnumerable)

Konvertiert einen IEnumerable in einen IQueryable.

Gilt für:

Weitere Informationen