Freigeben über


MenuItemBindingCollection Klasse

Definition

Stellt eine Auflistung vonMenuItemBinding-Objekten dar.

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
Vererbung
MenuItemBindingCollection

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie ein MenuItemBindingCollection Objekt deklarativ aufgefüllt wird. In diesem Beispiel müssen Sie die nachstehenden XML-Beispieldaten in eine Datei mit dem Namen "Map.xml" kopieren.


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

Im folgenden Codebeispiel wird veranschaulicht, wie Objekte programmgesteuert einem MenuItemBindingCollection Objekt hinzugefügt MenuItemBinding werden. In diesem Beispiel müssen Sie die nachstehenden XML-Beispieldaten in eine Datei mit dem Namen "Map.xml" kopieren.


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

Das folgende Beispiel ist Beispiel-Websitezuordnungsdaten für die vorherigen Beispiele.

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

Hinweise

Die MenuItemBindingCollection Klasse wird verwendet, um eine Auflistung von MenuItemBinding Objekten im Menu Steuerelement zu speichern und zu verwalten. Das Menu Steuerelement verwendet die MenuItemBindingCollection Klasse als Datentyp für seine DataBindings Eigenschaft. Die DataBindings Eigenschaft wird verwendet, um alle Menüelementbindungen zu speichern, die für das Menu Steuerelement definiert sind.

Hinweis

Die Reihenfolge, in der Objekte in der Auflistung angezeigt werden, wirkt sich nicht darauf aus, MenuItemBinding wie diese Objekte auf die Menüelemente in einem Menu Steuerelement angewendet werden.

Die MenuItemBindingCollection Klasse unterstützt verschiedene Möglichkeiten zum Zugriff auf die Elemente in der Auflistung:

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

  • Verwenden Sie die GetEnumerator Methode, um einen Aufzählungsator zu erstellen, der zum Iterieren durch die Auflistung verwendet werden kann.

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

Sie können ein MenuItemBindingCollection Objekt programmgesteuert verwalten, indem Sie Objekte hinzufügen und entfernen MenuItemBinding . Verwenden Sie zum Hinzufügen von Menüelementen zur Auflistung die Add Methode oder die Insert Methode. Um Knoten aus der Auflistung zu entfernen, verwenden Sie die , die RemoveRemoveAtMethode oder die Clear Methode.

Die MenuItemBindingCollection Klasse enthält Eigenschaften und Methoden, mit denen Sie Informationen zu der Auflistung selbst abrufen können. Um herauszufinden, wie viele Elemente in der Auflistung enthalten sind, verwenden Sie die Count Eigenschaft. Wenn Sie bestimmen möchten, ob die Auflistung ein bestimmtes MenuItemBinding Objekt enthält, verwenden Sie die Contains Methode. Um den Index eines MenuItemBinding Objekts in der Auflistung abzurufen, verwenden Sie die IndexOf Methode.

Eigenschaften

Count

Ruft die Anzahl der Elemente in der StateManagedCollection-Auflistung ab.

(Geerbt von StateManagedCollection)
Item[Int32]

Ruft das MenuItemBinding-Objekt am angegebenen Index aus der Auflistung ab.

Methoden

Add(MenuItemBinding)

Fügt das angegebene MenuItemBinding-Objekt an das Ende der Auflistung an.

Clear()

Entfernt alle Elemente aus der StateManagedCollection-Auflistung.

(Geerbt von StateManagedCollection)
Contains(MenuItemBinding)

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

CopyTo(Array, Int32)

Kopiert die Elemente der StateManagedCollection-Auflistung in ein Array, wobei an einem bestimmten Arrayindex begonnen wird.

(Geerbt von StateManagedCollection)
CopyTo(MenuItemBinding[], Int32)

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

CreateKnownType(Int32)

Beim Überschreiben in einer abgeleiteten Klasse wird eine Instanz einer Klasse erstellt, die IStateManager implementiert. Der Typ des erstellten Objekts basiert auf dem angegebenen Element der Auflistung, der von der GetKnownTypes()-Methode zurückgegeben wird.

(Geerbt von StateManagedCollection)
Equals(Object)

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

(Geerbt von Object)
GetEnumerator()

Gibt einen Iterator zurück, der die StateManagedCollection-Auflistung durchläuft.

(Geerbt von StateManagedCollection)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetKnownTypes()

Beim Überschreiben in einer abgeleiteten Klasse wird ein Array von IStateManager-Typen abgerufen, die die StateManagedCollection-Auflistung enthalten kann.

(Geerbt von StateManagedCollection)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
IndexOf(MenuItemBinding)

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

Insert(Int32, MenuItemBinding)

Fügt der Auflistung das angegebene MenuItemBinding-Objekt an der angegebenen Indexposition hinzu.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
OnClear()

Beim Überschreiben in einer abgeleiteten Klasse werden zusätzliche Aufgaben ausgeführt, bevor die Clear()-Methode alle Elemente aus der Auflistung entfernt.

(Geerbt von StateManagedCollection)
OnClearComplete()

Beim Überschreiben in einer abgeleiteten Klasse werden zusätzliche Aufgaben ausgeführt, nachdem die Clear()-Methode alle Elemente aus der Auflistung entfernt hat.

(Geerbt von StateManagedCollection)
OnInsert(Int32, Object)

Beim Überschreiben in einer abgeleiteten Klasse werden zusätzliche Aufgaben ausgeführt, bevor die IList.Insert(Int32, Object)-Methode oder die IList.Add(Object)-Methode der Auflistung ein Element hinzufügt.

(Geerbt von StateManagedCollection)
OnInsertComplete(Int32, Object)

Beim Überschreiben in einer abgeleiteten Klasse werden zusätzliche Aufgaben ausgeführt, nachdem die IList.Insert(Int32, Object)-Methode oder die IList.Add(Object)-Methode der Auflistung ein Element hinzugefügt hat.

(Geerbt von StateManagedCollection)
OnRemove(Int32, Object)

Beim Überschreiben in einer abgeleiteten Klasse werden zusätzliche Aufgaben ausgeführt, bevor die IList.Remove(Object)-Methode oder die IList.RemoveAt(Int32)-Methode das angegebene Element aus der Auflistung entfernt.

(Geerbt von StateManagedCollection)
OnRemoveComplete(Int32, Object)

Beim Überschreiben in einer abgeleiteten Klasse werden zusätzliche Aufgaben ausgeführt, nachdem die IList.Remove(Object)-Methode oder die IList.RemoveAt(Int32)-Methode das angegebene Element aus der Auflistung entfernt hat.

(Geerbt von StateManagedCollection)
OnValidate(Object)

Beim Überschreiben in einer abgeleiteten Klasse wird ein Element der StateManagedCollection-Auflistung validiert.

(Geerbt von StateManagedCollection)
Remove(MenuItemBinding)

Entfernt das angegebene MenuItemBinding-Objekt aus der Auflistung.

RemoveAt(Int32)

Entfernt das MenuItemBinding-Objekt an der angegebenen Indexposition aus der Auflistung.

SetDirty()

Erzwingt den serialisierten Ansichtszustand für die gesamte StateManagedCollection-Auflistung.

(Geerbt von StateManagedCollection)
SetDirtyObject(Object)

Beim Überschreiben in einer abgeleiteten Klasse wird ein in der Auflistung enthaltenes object angewiesen, seinen gesamten Zustand im Ansichtszustand aufzuzeichnen, anstatt nur die Änderungsinformationen aufzuzeichnen.

(Geerbt von StateManagedCollection)
ToString()

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

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

ICollection.Count

Ruft die Anzahl der Elemente in der StateManagedCollection-Auflistung ab.

(Geerbt von StateManagedCollection)
ICollection.IsSynchronized

Ruft einen Wert ab, der angibt, ob die StateManagedCollection-Auflistung synchronisiert (threadsicher) ist. Diese Methode gibt immer false zurück.

(Geerbt von StateManagedCollection)
ICollection.SyncRoot

Ruft ein Objekt ab, mit dem der Zugriff auf die StateManagedCollection-Auflistung synchronisiert werden kann. Diese Methode gibt immer null zurück.

(Geerbt von StateManagedCollection)
IEnumerable.GetEnumerator()

Gibt einen Iterator zurück, der die StateManagedCollection-Auflistung durchläuft.

(Geerbt von StateManagedCollection)
IList.Add(Object)

Fügt der StateManagedCollection-Auflistung ein Element hinzu.

(Geerbt von StateManagedCollection)
IList.Clear()

Entfernt alle Elemente aus der StateManagedCollection-Auflistung.

(Geerbt von StateManagedCollection)
IList.Contains(Object)

Ermittelt, ob die StateManagedCollection-Auflistung einen bestimmten Wert enthält.

(Geerbt von StateManagedCollection)
IList.IndexOf(Object)

Bestimmt den Index eines bestimmten Elements in der StateManagedCollection-Auflistung.

(Geerbt von StateManagedCollection)
IList.Insert(Int32, Object)

Fügt ein Element am angegebenen Index in die StateManagedCollection-Auflistung ein.

(Geerbt von StateManagedCollection)
IList.IsFixedSize

Ruft einen Wert ab, der angibt, ob die StateManagedCollection-Auflistung eine feste Größe aufweist. Diese Methode gibt immer false zurück.

(Geerbt von StateManagedCollection)
IList.IsReadOnly

Ruft einen Wert ab, der angibt, ob die StateManagedCollection-Auflistung schreibgeschützt ist.

(Geerbt von StateManagedCollection)
IList.Item[Int32]

Ruft das IStateManager-Element am angegebenen Index ab.

(Geerbt von StateManagedCollection)
IList.Remove(Object)

Entfernt das erste Vorkommen des angegebenen Objekts aus der StateManagedCollection-Auflistung.

(Geerbt von StateManagedCollection)
IList.RemoveAt(Int32)

Entfernt das IStateManager-Element am angegebenen Index.

(Geerbt von StateManagedCollection)
IStateManager.IsTrackingViewState

Ruft einen Wert ab, der angibt, ob die StateManagedCollection-Auflistung Änderungen des Ansichtszustands speichert.

(Geerbt von StateManagedCollection)
IStateManager.LoadViewState(Object)

Stellt den zuvor gespeicherten Ansichtszustand der StateManagedCollection-Auflistung und der in ihr enthaltenen IStateManager-Elemente wieder her.

(Geerbt von StateManagedCollection)
IStateManager.SaveViewState()

Speichert die Änderungen an der StateManagedCollection-Auflistung und allen darin enthaltenen IStateManager-Objekten seit dem Zeitpunkt, zu dem die Seite zurück an den Server gesendet wurde.

(Geerbt von StateManagedCollection)
IStateManager.TrackViewState()

Weist die StateManagedCollection-Auflistung und alle in ihr enthaltenen IStateManager-Objekte an, die Änderungen im Ansichtszustand nachzuverfolgen, sodass diese für die gleiche Seite anforderungsübergreifend beibehalten werden können.

(Geerbt von StateManagedCollection)

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

Siehe auch