Udostępnij za pośrednictwem


MenuItemBindingCollection Klasa

Definicja

Reprezentuje kolekcję MenuItemBinding obiektów.

public ref class MenuItemBindingCollection sealed : System::Web::UI::StateManagedCollection
public sealed class MenuItemBindingCollection : System.Web.UI.StateManagedCollection
type MenuItemBindingCollection = class
    inherit StateManagedCollection
Public NotInheritable Class MenuItemBindingCollection
Inherits StateManagedCollection
Dziedziczenie
MenuItemBindingCollection

Przykłady

W poniższym przykładzie kodu pokazano, jak deklaratywnie wypełnić MenuItemBindingCollection obiekt. Aby ten przykład działał poprawnie, należy skopiować przykładowe dane XML poniżej do pliku o nazwie Map.xml.


<%@ 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" >
  <head runat="server">
    <title>Menu DataBindings Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>Menu DataBindings Example</h3>
    
      <asp:menu id="NavigationMenu"
        staticdisplaylevels="1"
        staticsubmenuindent="10" 
        orientation="Vertical"
        target="_blank"
        datasourceid="MenuSource"
        runat="server">
        
       <DataBindings>
        
          <asp:menuitembinding datamember="MapHomeNode" 
            depth="0"
            textfield="title" 
            navigateurlfield="url"/>
          <asp:menuitembinding datamember="MapNode" 
            depth="1"
            textfield="title" 
            navigateurlfield="url"/>
          <asp:menuitembinding datamember="MapNode" 
            depth="2"
            textfield="title" 
            navigateurlfield="url"/>
        </DataBindings>
        
      </asp:menu>
      
      <asp:XmlDataSource id="MenuSource"
        datafile="Map.xml"
        runat="server"/>        

    </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" >
  <head runat="server">
    <title>Menu DataBindings Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>Menu DataBindings Example</h3>
    
      <asp:menu id="NavigationMenu"
        staticdisplaylevels="1"
        staticsubmenuindent="10" 
        orientation="Vertical"
        target="_blank"
        datasourceid="MenuSource"
        runat="server">
        
        <DataBindings>
          <asp:menuitembinding datamember="MapHomeNode" 
            depth="0"
            textfield="title" 
            navigateurlfield="url"/>
          <asp:menuitembinding datamember="MapNode" 
            depth="1"
            textfield="title" 
            navigateurlfield="url"/>
          <asp:menuitembinding datamember="MapNode" 
            depth="2"
            textfield="title" 
            navigateurlfield="url"/>
        </DataBindings>
        
      </asp:menu>
      
      <asp:XmlDataSource id="MenuSource"
        datafile="Map.xml"
        runat="server"/>        

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

W poniższym przykładzie kodu pokazano, jak programowo dodawać MenuItemBinding obiekty do MenuItemBindingCollection obiektu. Aby ten przykład działał poprawnie, należy skopiować przykładowe dane XML poniżej do pliku o nazwie Map.xml.


<%@ 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)
    {
      // Create the menu item bindings for the Menu control.
      MenuItemBinding binding;
      
      binding = CreateMenuItemBinding("MapHomeNode", 0, "title", "url");
      NavigationMenu.DataBindings.Add(binding);

      binding = CreateMenuItemBinding("MapNode", 1, "title", "url");
      NavigationMenu.DataBindings.Add(binding);

      binding = CreateMenuItemBinding("MapNode", 2, "title", "url");
      NavigationMenu.DataBindings.Add(binding);
    }
  }

  // This is a helper method to create a MenuItemBinding 
  // object from the specified parameters.
  MenuItemBinding CreateMenuItemBinding(String dataMember, int depth, String textField, String navigateUrlField)
  {
    // Create a new MenuItemBinding object.
    MenuItemBinding binding = new MenuItemBinding();

    // Set the properties of the MenuItemBinding object.
    binding.DataMember = dataMember;
    binding.Depth = depth;
    binding.TextField = textField;
    binding.NavigateUrlField = navigateUrlField;

    return binding;
  }
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>MenuItemBindingCollection Add Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>MenuItemBindingCollection Add Example</h3>
    
      <asp:menu id="NavigationMenu"
        staticdisplaylevels="2"
        staticsubmenuindent="10" 
        orientation="Vertical"
        target="_blank"
        datasourceid="MenuSource"
        runat="server">        
      </asp:menu>
      
      <asp:xmldatasource id="MenuSource"
        datafile="Map.xml"
        runat="server"/>        

    </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
    
      ' Create the menu item bindings for the Menu control.
      Dim binding As MenuItemBinding
      
      binding = CreateMenuItemBinding("MapHomeNode", 0, "title", "url")
      NavigationMenu.DataBindings.Add(binding)

      binding = CreateMenuItemBinding("MapNode", 1, "title", "url")
      NavigationMenu.DataBindings.Add(binding)

      binding = CreateMenuItemBinding("MapNode", 2, "title", "url")
      NavigationMenu.DataBindings.Add(binding)
   
    End If
    
  End Sub

  ' This is a helper method to create a MenuItemBinding 
  ' object from the specified parameters.
  Function CreateMenuItemBinding(ByVal dataMember As String, ByVal depth As Integer, ByVal textField As String, ByVal navigateUrlField As String) As MenuItemBinding
  
    ' Create a new MenuItemBinding object.
    Dim binding As New MenuItemBinding()

    ' Set the properties of the MenuItemBinding object.
    binding.DataMember = dataMember
    binding.Depth = depth
    binding.TextField = textField
    binding.NavigateUrlField = navigateUrlField

    Return binding
    
  End Function
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>MenuItemBindingCollection Add Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>MenuItemBindingCollection Add Example</h3>
    
      <asp:menu id="NavigationMenu"
        staticdisplaylevels="2"
        staticsubmenuindent="10" 
        orientation="Vertical"
        target="_blank"
        datasourceid="MenuSource"
        runat="server">        
      </asp:menu>
      
      <asp:xmldatasource id="MenuSource"
        datafile="Map.xml"
        runat="server"/>        

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

Poniżej przedstawiono przykładowe dane mapy witryny dla poprzednich przykładów.

<MapHomeNode url="~\Home.aspx"

title="Home"

description="Home">

<MapNode url="~\Music.aspx"

title="Music"

description="Music">

<MapNode url="~\Classical.aspx"

title="Classical"

description="Classical"/>

<MapNode url="~\Rock.aspx"

title="Rock"

description="Rock"/>

<MapNode url="~\Jazz.aspx"

title="Jazz"

description="Jazz"/>

</MapNode>

<MapNode url="~\Movies.aspx"

title="Movies"

description="Movies">

<MapNode url="~\Action.aspx"

title="Action"

description="Action"/>

<MapNode url="~\Drama.aspx"

title="Drama"

description="Drama"/>

<MapNode url="~\Musical.aspx"

title="Musical"

description="Musical"/>

</MapNode>

</MapHomeNode>

Uwagi

Klasa MenuItemBindingCollection służy do przechowywania kolekcji MenuItemBinding obiektów w kontrolce Menu i zarządzania nimi. Kontrolka Menu MenuItemBindingCollection używa klasy jako typu danych dla jej DataBindings właściwości. Właściwość DataBindings służy do przechowywania dowolnych powiązań elementów menu zdefiniowanych dla kontrolki Menu .

Uwaga

Kolejność wyświetlania MenuItemBinding obiektów w kolekcji nie ma wpływu na sposób stosowania tych obiektów do elementów menu w kontrolce Menu .

Klasa MenuItemBindingCollection obsługuje kilka sposobów uzyskiwania dostępu do elementów w kolekcji:

  • Użyj indeksatora Item[] , aby bezpośrednio pobrać MenuItemBinding obiekt w określonym indeksie opartym na zerze.

  • GetEnumerator Użyj metody , aby utworzyć moduł wyliczający, który może służyć do iteracji po kolekcji.

  • CopyTo Użyj metody , aby skopiować zawartość kolekcji do tablicy.

Obiekt można zarządzać MenuItemBindingCollection programowo, dodając i usuwając MenuItemBinding obiekty. Aby dodać elementy menu do kolekcji, użyj Add metody lub Insert . Aby usunąć węzły z kolekcji, użyj Removemetody , RemoveAtlub Clear .

Klasa MenuItemBindingCollection zawiera właściwości i metody, które umożliwiają pobieranie informacji o samej kolekcji. Aby dowiedzieć się, ile elementów znajduje się w kolekcji, użyj Count właściwości . Jeśli chcesz określić, czy kolekcja zawiera określony MenuItemBinding obiekt, użyj Contains metody . Aby uzyskać indeks MenuItemBinding obiektu w kolekcji, użyj IndexOf metody .

Właściwości

Count

Pobiera liczbę elementów zawartych w kolekcji StateManagedCollection .

(Odziedziczone po StateManagedCollection)
Item[Int32]

MenuItemBinding Pobiera obiekt w określonym indeksie z kolekcji.

Metody

Add(MenuItemBinding)

Dołącza określony MenuItemBinding obiekt na końcu kolekcji.

Clear()

Usuwa wszystkie elementy z kolekcji StateManagedCollection .

(Odziedziczone po StateManagedCollection)
Contains(MenuItemBinding)

Określa, czy określony MenuItemBinding obiekt znajduje się w kolekcji.

CopyTo(Array, Int32)

Kopiuje elementy StateManagedCollection kolekcji do tablicy, zaczynając od określonego indeksu tablicy.

(Odziedziczone po StateManagedCollection)
CopyTo(MenuItemBinding[], Int32)

Kopiuje wszystkie elementy z MenuItemBindingCollection obiektu do zgodnej jednowymiarowej tablicy MenuItemBinding obiektów, począwszy od określonego indeksu w tablicy docelowej.

CreateKnownType(Int32)

Po przesłonięciu w klasie pochodnej tworzy wystąpienie klasy implementujące IStateManagermetodę . Typ utworzonego obiektu jest oparty na określonym elemencie członkowskim kolekcji zwróconej przez metodę GetKnownTypes() .

(Odziedziczone po StateManagedCollection)
Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetEnumerator()

Zwraca iterator iterujący przez StateManagedCollection kolekcję.

(Odziedziczone po StateManagedCollection)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetKnownTypes()

Po zastąpieniu w klasie pochodnej pobiera tablicę IStateManager typów, które StateManagedCollection może zawierać kolekcja.

(Odziedziczone po StateManagedCollection)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
IndexOf(MenuItemBinding)

Określa indeks określonego MenuItemBinding obiektu w kolekcji.

Insert(Int32, MenuItemBinding)

Dodaje określony MenuItemBinding obiekt do kolekcji w określonej lokalizacji indeksu.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
OnClear()

Po zastąpieniu w klasie pochodnej wykonuje dodatkową pracę, zanim Clear() metoda usunie wszystkie elementy z kolekcji.

(Odziedziczone po StateManagedCollection)
OnClearComplete()

Po przesłonięciu w klasie pochodnej wykonuje dodatkową pracę po zakończeniu Clear() usuwania wszystkich elementów z kolekcji.

(Odziedziczone po StateManagedCollection)
OnInsert(Int32, Object)

Po zastąpieniu klasy pochodnej wykonuje dodatkową pracę przed IList.Insert(Int32, Object) dodaniu elementu do kolekcji przez metodę or IList.Add(Object) .

(Odziedziczone po StateManagedCollection)
OnInsertComplete(Int32, Object)

Po zastąpieniu w klasie pochodnej wykonuje dodatkową pracę po IList.Insert(Int32, Object) dodaniu elementu do kolekcji przez metodę or IList.Add(Object) .

(Odziedziczone po StateManagedCollection)
OnRemove(Int32, Object)

Po zastąpieniu w klasie pochodnej wykonuje dodatkową pracę przed IList.Remove(Object) usunięciem określonego elementu z kolekcji przez metodę or IList.RemoveAt(Int32) .

(Odziedziczone po StateManagedCollection)
OnRemoveComplete(Int32, Object)

W przypadku zastąpienia w klasie pochodnej wykonuje dodatkową pracę po IList.Remove(Object) usunięciu określonego elementu z kolekcji przez metodę or IList.RemoveAt(Int32) .

(Odziedziczone po StateManagedCollection)
OnValidate(Object)

Po przesłonięciu w klasie pochodnej weryfikuje element kolekcji StateManagedCollection .

(Odziedziczone po StateManagedCollection)
Remove(MenuItemBinding)

Usuwa określony MenuItemBinding obiekt z kolekcji.

RemoveAt(Int32)

MenuItemBinding Usuwa obiekt w określonej lokalizacji indeksu z kolekcji.

SetDirty()

Wymusza serializacji całej StateManagedCollection kolekcji w stan widoku.

(Odziedziczone po StateManagedCollection)
SetDirtyObject(Object)

Po przesłonięciu w klasie pochodnej instruuje object element zawarty przez kolekcję w celu zarejestrowania całego stanu w celu wyświetlenia stanu, a nie rejestrowania tylko informacji o zmianie.

(Odziedziczone po StateManagedCollection)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Jawne implementacje interfejsu

ICollection.Count

Pobiera liczbę elementów zawartych w kolekcji StateManagedCollection .

(Odziedziczone po StateManagedCollection)
ICollection.IsSynchronized

Pobiera wartość wskazującą, czy StateManagedCollection kolekcja jest synchronizowana (bezpieczne wątki). Ta metoda zwraca wszystkie false przypadki.

(Odziedziczone po StateManagedCollection)
ICollection.SyncRoot

Pobiera obiekt, który może służyć do synchronizowania dostępu do StateManagedCollection kolekcji. Ta metoda zwraca wszystkie null przypadki.

(Odziedziczone po StateManagedCollection)
IEnumerable.GetEnumerator()

Zwraca iterator iterujący przez StateManagedCollection kolekcję.

(Odziedziczone po StateManagedCollection)
IList.Add(Object)

Dodaje element do kolekcji StateManagedCollection .

(Odziedziczone po StateManagedCollection)
IList.Clear()

Usuwa wszystkie elementy z kolekcji StateManagedCollection .

(Odziedziczone po StateManagedCollection)
IList.Contains(Object)

Określa, czy StateManagedCollection kolekcja zawiera określoną wartość.

(Odziedziczone po StateManagedCollection)
IList.IndexOf(Object)

Określa indeks określonego elementu w kolekcji StateManagedCollection .

(Odziedziczone po StateManagedCollection)
IList.Insert(Int32, Object)

Wstawia element do kolekcji StateManagedCollection w określonym indeksie.

(Odziedziczone po StateManagedCollection)
IList.IsFixedSize

Pobiera wartość wskazującą, czy StateManagedCollection kolekcja ma stały rozmiar. Ta metoda zwraca wszystkie false przypadki.

(Odziedziczone po StateManagedCollection)
IList.IsReadOnly

Pobiera wartość wskazującą, czy StateManagedCollection kolekcja jest tylko do odczytu.

(Odziedziczone po StateManagedCollection)
IList.Item[Int32]

IStateManager Pobiera element w określonym indeksie.

(Odziedziczone po StateManagedCollection)
IList.Remove(Object)

Usuwa pierwsze wystąpienie określonego obiektu z kolekcji StateManagedCollection .

(Odziedziczone po StateManagedCollection)
IList.RemoveAt(Int32)

IStateManager Usuwa element w określonym indeksie.

(Odziedziczone po StateManagedCollection)
IStateManager.IsTrackingViewState

Pobiera wartość wskazującą, czy StateManagedCollection kolekcja zapisuje zmiany w stanie widoku.

(Odziedziczone po StateManagedCollection)
IStateManager.LoadViewState(Object)

Przywraca wcześniej zapisany stan StateManagedCollection widoku kolekcji i IStateManager zawarte w nim elementy.

(Odziedziczone po StateManagedCollection)
IStateManager.SaveViewState()

Zapisuje zmiany w StateManagedCollection kolekcji i każdy IStateManager obiekt, który zawiera od czasu opublikowania strony z powrotem na serwerze.

(Odziedziczone po StateManagedCollection)
IStateManager.TrackViewState()

Powoduje, że StateManagedCollection kolekcja i każdy z IStateManager obiektów, które zawiera, aby śledzić zmiany w ich stanie wyświetlania, dzięki czemu mogą być utrwalane między żądaniami dla tej samej strony.

(Odziedziczone po StateManagedCollection)

Metody rozszerzania

Cast<TResult>(IEnumerable)

Rzutuje elementy elementu IEnumerable na określony typ.

OfType<TResult>(IEnumerable)

Filtruje elementy IEnumerable elementu na podstawie określonego typu.

AsParallel(IEnumerable)

Umożliwia równoległość zapytania.

AsQueryable(IEnumerable)

Konwertuje element IEnumerable na .IQueryable

Dotyczy

Zobacz też