Condividi tramite


MenuItemBindingCollection Classe

Definizione

Rappresenta una raccolta di oggetti MenuItemBinding.

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
Ereditarietà
MenuItemBindingCollection

Esempio

Nell'esempio di codice seguente viene illustrato come popolare un MenuItemBindingCollection oggetto in modo dichiarativo. Per il corretto funzionamento di questo esempio, è necessario copiare i dati XML di esempio seguenti in un file denominato 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>

Nell'esempio di codice seguente viene illustrato come aggiungere MenuItemBinding oggetti a un oggetto a livello MenuItemBindingCollection di codice. Per il corretto funzionamento di questo esempio, è necessario copiare i dati XML di esempio seguenti in un file denominato 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>

Di seguito sono riportati i dati della mappa del sito di esempio per gli esempi precedenti.

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

Commenti

La MenuItemBindingCollection classe viene utilizzata per archiviare e gestire una raccolta di MenuItemBinding oggetti nel Menu controllo . Il Menu controllo usa la MenuItemBindingCollection classe come tipo di dati per la relativa DataBindings proprietà. La DataBindings proprietà viene utilizzata per archiviare tutte le associazioni di voci di menu definite per il Menu controllo.

Nota

L'ordine in cui gli oggetti vengono visualizzati nell'insieme non ha alcun effetto sul modo in cui MenuItemBinding tali oggetti vengono applicati alle voci di menu in un Menu controllo .

La MenuItemBindingCollection classe supporta diversi modi per accedere agli elementi nella raccolta:

  • Usare l'indicizzatore Item[] per recuperare direttamente l'oggetto MenuItemBinding in corrispondenza di un indice in base zero specifico.

  • Utilizzare il GetEnumerator metodo per creare un enumeratore che può essere usato per scorrere la raccolta.

  • Usare il CopyTo metodo per copiare il contenuto della raccolta in una matrice.

È possibile gestire un MenuItemBindingCollection oggetto a livello di codice aggiungendo e rimuovendo MenuItemBinding oggetti. Per aggiungere voci di menu alla raccolta, utilizzare il Add metodo o Insert . Per rimuovere nodi dalla raccolta, usare , Removeo RemoveAtil Clear metodo .

La MenuItemBindingCollection classe contiene proprietà e metodi che consentono di recuperare informazioni sulla raccolta stessa. Per scoprire quanti elementi si trovano nella raccolta, utilizzare la Count proprietà . Se si desidera determinare se l'insieme contiene un determinato MenuItemBinding oggetto, utilizzare il Contains metodo . Per ottenere l'indice di un MenuItemBinding oggetto nell'insieme, utilizzare il IndexOf metodo .

Proprietà

Count

Ottiene il numero di elementi contenuti nella raccolta StateManagedCollection.

(Ereditato da StateManagedCollection)
Item[Int32]

Ottiene l'oggetto MenuItemBinding dall'insieme in corrispondenza dell'indice specificato.

Metodi

Add(MenuItemBinding)

Aggiunge l'oggetto MenuItemBinding specificato alla fine dell'insieme.

Clear()

Rimuove tutti gli elementi dalla raccolta StateManagedCollection.

(Ereditato da StateManagedCollection)
Contains(MenuItemBinding)

Determina se l'oggetto MenuItemBinding specificato è incluso nell'insieme.

CopyTo(Array, Int32)

Copia gli elementi della raccolta StateManagedCollection in una matrice, a partire da un indice della matrice specifico.

(Ereditato da StateManagedCollection)
CopyTo(MenuItemBinding[], Int32)

Copia tutti gli elementi dall'oggetto MenuItemBindingCollection a una matrice unidimensionale compatibile di oggetti MenuItemBinding, a partire dall'indice specificato nella matrice di destinazione.

CreateKnownType(Int32)

Quando sottoposto a override in una classe derivata, crea un'istanza di una classe che implementa IStateManager. Il tipo di oggetto creato è basato sul membro specificato della raccolta restituita dal metodo GetKnownTypes().

(Ereditato da StateManagedCollection)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetEnumerator()

Restituisce un iteratore che consente di scorrere la raccolta StateManagedCollection.

(Ereditato da StateManagedCollection)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetKnownTypes()

Quando sottoposto a override in una classe derivata, ottiene una matrice di tipi IStateManager che possono essere inclusi nella raccolta StateManagedCollection.

(Ereditato da StateManagedCollection)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
IndexOf(MenuItemBinding)

Determina l'indice dell'oggetto MenuItemBinding specificato nell'insieme.

Insert(Int32, MenuItemBinding)

Aggiunge l'oggetto MenuItemBinding specificato all'insieme nella posizione di indice specificata.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
OnClear()

Quando sottoposto a override in una classe derivata, esegue ulteriori operazioni prima che il metodo Clear() rimuova tutti gli elementi dalla raccolta.

(Ereditato da StateManagedCollection)
OnClearComplete()

Quando sottoposto a override in una classe derivata, esegue ulteriori operazioni dopo che il metodo Clear() ha completato la rimozione di tutti gli elementi dalla raccolta.

(Ereditato da StateManagedCollection)
OnInsert(Int32, Object)

Quando sottoposto a override in una classe derivata, esegue ulteriori operazioni prima che il metodo IList.Insert(Int32, Object) o IList.Add(Object) aggiunga un elemento alla raccolta.

(Ereditato da StateManagedCollection)
OnInsertComplete(Int32, Object)

Quando sottoposto a override in una classe derivata, esegue ulteriori operazioni dopo che il metodo IList.Insert(Int32, Object) o IList.Add(Object) ha aggiunto un elemento alla raccolta.

(Ereditato da StateManagedCollection)
OnRemove(Int32, Object)

Quando sottoposto a override in una classe derivata, esegue ulteriori operazioni prima che il metodo IList.Remove(Object) o IList.RemoveAt(Int32) rimuova l'elemento specificato dalla raccolta.

(Ereditato da StateManagedCollection)
OnRemoveComplete(Int32, Object)

Quando sottoposto a override in una classe derivata, esegue ulteriori operazioni dopo che il metodo IList.Remove(Object) o IList.RemoveAt(Int32) ha completato la rimozione dell'elemento specificato dalla raccolta.

(Ereditato da StateManagedCollection)
OnValidate(Object)

Quando sottoposto a override in una classe derivata, convalida un elemento della raccolta StateManagedCollection.

(Ereditato da StateManagedCollection)
Remove(MenuItemBinding)

Rimuove l'oggetto MenuItemBinding specificato dalla raccolta.

RemoveAt(Int32)

Rimuove dall'insieme l'oggetto MenuItemBinding in corrispondenza della posizione di indice specificata.

SetDirty()

Impone la serializzazione dell'intera raccolta StateManagedCollection nello stato di visualizzazione.

(Ereditato da StateManagedCollection)
SetDirtyObject(Object)

Quando sottoposto a override in una classe derivata, richiede a un object incluso nella raccolta di registrare il rispettivo stato completo nello stato di visualizzazione, invece di registrare solo le informazioni relative alle modifiche.

(Ereditato da StateManagedCollection)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

ICollection.Count

Ottiene il numero di elementi contenuti nella raccolta StateManagedCollection.

(Ereditato da StateManagedCollection)
ICollection.IsSynchronized

Ottiene un valore che indica se la raccolta StateManagedCollection è sincronizzata (thread-safe). Questo metodo restituisce false in tutti i casi.

(Ereditato da StateManagedCollection)
ICollection.SyncRoot

Ottiene un oggetto che può essere usato per sincronizzare l'accesso alla raccolta StateManagedCollection. Questo metodo restituisce null in tutti i casi.

(Ereditato da StateManagedCollection)
IEnumerable.GetEnumerator()

Restituisce un iteratore che consente di scorrere la raccolta StateManagedCollection.

(Ereditato da StateManagedCollection)
IList.Add(Object)

Aggiunge un elemento alla raccolta StateManagedCollection.

(Ereditato da StateManagedCollection)
IList.Clear()

Rimuove tutti gli elementi dalla raccolta StateManagedCollection.

(Ereditato da StateManagedCollection)
IList.Contains(Object)

Stabilisce se la raccolta StateManagedCollection contiene un valore specifico.

(Ereditato da StateManagedCollection)
IList.IndexOf(Object)

Determina l'indice di un elemento specificato nella raccolta StateManagedCollection.

(Ereditato da StateManagedCollection)
IList.Insert(Int32, Object)

Inserisce un elemento nella raccolta StateManagedCollection in corrispondenza dell'indice specificato.

(Ereditato da StateManagedCollection)
IList.IsFixedSize

Ottiene un valore che indica se la dimensione della raccolta StateManagedCollection è fissa. Questo metodo restituisce false in tutti i casi.

(Ereditato da StateManagedCollection)
IList.IsReadOnly

Ottiene un valore che indica se la raccolta StateManagedCollection è di sola lettura.

(Ereditato da StateManagedCollection)
IList.Item[Int32]

Ottiene l'elemento IStateManager in corrispondenza dell'indice specificato.

(Ereditato da StateManagedCollection)
IList.Remove(Object)

Rimuove la prima occorrenza dell'oggetto specificato dalla raccolta StateManagedCollection.

(Ereditato da StateManagedCollection)
IList.RemoveAt(Int32)

Rimuove l'elemento IStateManager in corrispondenza dell'indice specificato.

(Ereditato da StateManagedCollection)
IStateManager.IsTrackingViewState

Ottiene un valore che indica se la raccolta StateManagedCollection salva le modifiche apportate al relativo stato di visualizzazione.

(Ereditato da StateManagedCollection)
IStateManager.LoadViewState(Object)

Ripristina lo stato di visualizzazione salvato in precedenza della raccolta StateManagedCollection e gli elementi IStateManager in essa contenuti.

(Ereditato da StateManagedCollection)
IStateManager.SaveViewState()

Salva le modifiche apportate alla raccolta StateManagedCollection e ogni oggetto IStateManager in essa contenuto dal momento in cui è stato eseguito il postback della pagina nel server.

(Ereditato da StateManagedCollection)
IStateManager.TrackViewState()

Fa in modo che la raccolta StateManagedCollection e ogni oggetto IStateManager in essa contenuto tenga traccia delle modifiche apportate al rispettivo stato di visualizzazione, in modo da consentirne il mantenimento nelle diverse richieste per la stessa pagina.

(Ereditato da StateManagedCollection)

Metodi di estensione

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato.

OfType<TResult>(IEnumerable)

Filtra gli elementi di un oggetto IEnumerable in base a un tipo specificato.

AsParallel(IEnumerable)

Consente la parallelizzazione di una query.

AsQueryable(IEnumerable)

Converte un oggetto IEnumerable in un oggetto IQueryable.

Si applica a

Vedi anche