MenuItemCollection Klass

Definition

Representerar en samling menyobjekt i en Menu kontroll. Det går inte att ärva den här klassen.

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
Arv
MenuItemCollection
Implementeringar

Exempel

I följande kodexempel visas hur du fyller i samlingarna Items och ChildItems med deklarativ 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>

I följande kodexempel visas hur du programmatiskt lägger till ett MenuItem objekt i ChildItems samlingen av ett rotmenyobjekt.


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

Kommentarer

Klassen MenuItemCollection används för att lagra och hantera en samling MenuItem objekt i Menu kontrollen. Kontrollen Menu använder MenuItemCollection klassen för att lagra sina rotmenyobjekt i egenskapen Items . Den här samlingen används också för egenskapen för ett ChildItems objekt för MenuItem att lagra ett menyalternativs undermenyobjekt (om det finns några).

Klassen MenuItemCollection har stöd för flera sätt att komma åt objekten i samlingen:

  • Använd indexeraren Item[] för att hämta ett MenuItem objekt direkt vid ett specifikt nollbaserat index.

  • GetEnumerator Använd metoden för att skapa en uppräkning som kan användas för att iterera genom samlingen.

  • CopyTo Använd metoden för att kopiera innehållet i samlingen till en matris.

Du kan programmatiskt hantera ett MenuItemCollection objekt genom att lägga till och ta bort MenuItem objekt. Om du vill lägga till menyobjekt i samlingen använder du Add metoden eller AddAt . Om du vill ta bort noder från samlingen använder du Removemetoden , RemoveAteller .Clear

Note

Menu När kontrollen är bunden till en datakälla fylls samlingarna Items och ChildItems automatiskt i varje gång bindningen sker. Alla ändringar i samlingarna mellan bindningar går förlorade. Om du vill behålla ändringarna uppdaterar du antingen datakällan eller återskapar samlingen manuellt varje gång du binder.

Klassen MenuItemCollection innehåller egenskaper och metoder som gör att du kan hämta information om själva samlingen. Om du vill ta reda på hur många objekt som finns i samlingen använder du Count egenskapen . Om du vill ta reda på om samlingen innehåller ett visst MenuItem objekt använder du Contains metoden . Använd metoden för att hämta indexet för ett MenuItem objekt i samlingen IndexOf .

Konstruktorer

Name Description
MenuItemCollection()

Initierar en ny instans av klassen med hjälp av MenuItemCollection standardvärdena.

MenuItemCollection(MenuItem)

Initierar en ny instans av MenuItemCollection klassen med det angivna överordnade menyalternativet (eller ägaren).

Egenskaper

Name Description
Count

Hämtar antalet menyalternativ som finns i det aktuella MenuItemCollection objektet.

IsSynchronized

Hämtar ett värde som anger om åtkomsten MenuItemCollection till objektet synkroniseras (trådsäker).

Item[Int32]

Hämtar objektet MenuItem vid det angivna indexet i det aktuella MenuItemCollection objektet.

SyncRoot

Hämtar ett objekt som kan användas för att synkronisera åtkomsten MenuItemCollection till objektet.

Metoder

Name Description
Add(MenuItem)

Lägger till det angivna MenuItem objektet i slutet av det aktuella MenuItemCollection objektet.

AddAt(Int32, MenuItem)

Infogar det angivna MenuItem objektet i det aktuella MenuItemCollection objektet på den angivna indexplatsen.

Clear()

Tar bort alla objekt från det aktuella MenuItemCollection objektet.

Contains(MenuItem)

Avgör om det angivna MenuItem objektet finns i samlingen.

CopyTo(Array, Int32)

Kopierar alla objekt från MenuItemCollection objektet till en kompatibel endimensionell Array, med början vid det angivna indexet i målmatrisen.

CopyTo(MenuItem[], Int32)

Kopierar alla objekt från MenuItemCollection objektet till en kompatibel endimensionell matris med MenuItem objekt, med början vid det angivna indexet i målmatrisen.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetEnumerator()

Returnerar en uppräknare som kan användas för att iterera genom objekten i det aktuella MenuItemCollection objektet.

GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
IndexOf(MenuItem)

Avgör indexet för det angivna MenuItem objektet i samlingen.

MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
Remove(MenuItem)

Tar bort det angivna MenuItem objektet från objektet MenuItemCollection .

RemoveAt(Int32)

Tar bort objektet MenuItem på den angivna indexplatsen från det aktuella MenuItemCollection objektet.

ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Explicita gränssnittsimplementeringar

Name Description
IStateManager.IsTrackingViewState

Hämtar ett värde som anger om MenuItemCollection objektet sparar ändringar i visningstillståndet.

IStateManager.LoadViewState(Object)

MenuItemCollection Läser in objektets tidigare sparade vytillstånd.

IStateManager.SaveViewState()

Sparar ändringarna för att visa tillståndet till en Object.

IStateManager.TrackViewState()

Instruerar objektet MenuItemCollection att spåra ändringar i dess visningstillstånd.

Tilläggsmetoder

Name Description
AsParallel(IEnumerable)

Möjliggör parallellisering av en fråga.

AsQueryable(IEnumerable)

Konverterar en IEnumerable till en IQueryable.

Cast<TResult>(IEnumerable)

Omvandlar elementen i en IEnumerable till den angivna typen.

OfType<TResult>(IEnumerable)

Filtrerar elementen i en IEnumerable baserat på en angiven typ.

Gäller för

Se även