MenuItemCollection Sınıf

Tanım

Denetimdeki Menu menü öğeleri koleksiyonunu temsil eder. Bu sınıf devralınamaz.

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
Devralma
MenuItemCollection
Uygulamalar

Örnekler

Aşağıdaki kod örneği, bildirim temelli söz dizimi kullanarak ve ChildItems koleksiyonlarının Items nasıl doldurulduğunu gösterir.


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

Aşağıdaki kod örneği, bir kök menü öğesinin ChildItems koleksiyonuna program aracılığıyla nesne ekleme MenuItem işlemini gösterir.


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

Açıklamalar

MenuItemCollection sınıfı, denetimdeki Menu bir nesne koleksiyonunu MenuItem depolamak ve yönetmek için kullanılır. Denetim, Menu kök menü öğelerini özelliğinde depolamak için sınıfını Items kullanırMenuItemCollection. Bu koleksiyon, bir MenuItem menü öğesinin ChildItems alt menü öğelerini (varsa) depolamak için nesnenin özelliği için de kullanılır.

sınıfı koleksiyondaki MenuItemCollection öğelere erişmenin çeşitli yollarını destekler:

  • Belirli bir sıfır tabanlı dizindeki Item[] bir MenuItem nesneyi doğrudan almak için dizin oluşturucuyu kullanın.

  • GetEnumerator Yöntemini kullanarak koleksiyonda yinelemek için kullanılabilecek bir numaralandırıcı oluşturun.

  • Koleksiyonun CopyTo içeriğini bir diziye kopyalamak için yöntemini kullanın.

Nesneleri ekleyerek ve kaldırarak MenuItem bir MenuItemCollection nesneyi program aracılığıyla yönetebilirsiniz. Koleksiyona menü öğeleri eklemek için veya AddAt yöntemini kullanınAdd. Koleksiyondan düğümleri kaldırmak için , RemoveAtveya Clear yöntemini kullanınRemove.

Not

Menu Denetim bir veri kaynağına bağlı olduğunda, bağlama her gerçekleştiğinde Items ve ChildItems koleksiyonları otomatik olarak doldurulur. Bağlamalar arasındaki koleksiyonlarda yapılan tüm değişiklikler kaybolur. Bu değişiklikleri korumak için veri kaynağını güncelleştirin veya her bağladığınızda koleksiyonu el ile yeniden oluşturun.

sınıfı, MenuItemCollection koleksiyonun kendisi hakkında bilgi almanıza olanak sağlayan özellikler ve yöntemler içerir. Koleksiyonda kaç öğe olduğunu öğrenmek için özelliğini kullanın Count . Koleksiyonun belirli MenuItem bir nesne içerip içermediğini belirlemek istiyorsanız yöntemini kullanın Contains . Koleksiyondaki bir MenuItem nesnenin dizinini almak için yöntemini kullanın IndexOf .

Oluşturucular

MenuItemCollection()

Varsayılan değerleri kullanarak sınıfın MenuItemCollection yeni bir örneğini başlatır.

MenuItemCollection(MenuItem)

Belirtilen üst menü öğesini (veya sahibi) kullanarak sınıfın yeni bir örneğini MenuItemCollection başlatır.

Özellikler

Count

Geçerli MenuItemCollection nesnede yer alan menü öğelerinin sayısını alır.

IsSynchronized

Nesneye erişimin MenuItemCollection eşitlenip eşitlenmediğini belirten bir değer alır (iş parçacığı güvenli).

Item[Int32]

Geçerli MenuItemCollection nesnede MenuItem belirtilen dizindeki nesneyi alır.

SyncRoot

Nesneye erişimi MenuItemCollection eşitlemek için kullanılabilecek bir nesne alır.

Yöntemler

Add(MenuItem)

Belirtilen MenuItem nesneyi geçerli MenuItemCollection nesnenin sonuna ekler.

AddAt(Int32, MenuItem)

Belirtilen nesneyi, belirtilen MenuItem dizin konumundaki geçerli MenuItemCollection nesneye ekler.

Clear()

Geçerli MenuItemCollection nesneden tüm öğeleri kaldırır.

Contains(MenuItem)

Belirtilen MenuItem nesnenin koleksiyonda olup olmadığını belirler.

CopyTo(Array, Int32)

Nesnedeki tüm öğeleri hedef dizideki MenuItemCollection belirtilen dizinden başlayarak uyumlu bir tek boyutlu Arrayöğesine kopyalar.

CopyTo(MenuItem[], Int32)

Nesnedeki tüm öğeleri, hedef dizideki MenuItemCollectionMenuItem belirtilen dizinden başlayarak uyumlu bir tek boyutlu nesne dizisine kopyalar.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetEnumerator()

Geçerli MenuItemCollection nesnedeki öğeler arasında yineleme yapmak için kullanılabilecek bir numaralandırıcı döndürür.

GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
IndexOf(MenuItem)

Koleksiyonda belirtilen MenuItem nesnenin dizinini belirler.

MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
Remove(MenuItem)

Belirtilen MenuItem nesneyi nesneden MenuItemCollection kaldırır.

RemoveAt(Int32)

MenuItem Belirtilen dizin konumundaki nesneyi geçerli MenuItemCollection nesneden kaldırır.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

IStateManager.IsTrackingViewState

Nesnenin MenuItemCollection görünüm durumundaki değişiklikleri kaydedip kaydetmediğini gösteren bir değer alır.

IStateManager.LoadViewState(Object)

Nesnenin MenuItemCollection daha önce kaydedilmiş görünüm durumunu yükler.

IStateManager.SaveViewState()

Durumunu görüntülemek için yapılan değişiklikleri bir Objectolarak kaydeder.

IStateManager.TrackViewState()

Nesneye görünüm durumundaki MenuItemCollection değişiklikleri izlemesini bildirir.

Uzantı Metotları

Cast<TResult>(IEnumerable)

öğesinin IEnumerable öğelerini belirtilen türe atar.

OfType<TResult>(IEnumerable)

Bir öğesinin IEnumerable öğelerini belirtilen türe göre filtreler.

AsParallel(IEnumerable)

Sorgunun paralelleştirilmesini sağlar.

AsQueryable(IEnumerable)

bir IEnumerable öğesini öğesine IQueryabledönüştürür.

Şunlara uygulanır

Ayrıca bkz.