Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Classe MenuItemBinding

Definisce la relazione tra un elemento di dati e la voce di menu a cui viene associato in un controllo Menu. Questa classe non può essere ereditata.

System.Object
  System.Web.UI.WebControls.MenuItemBinding

Spazio dei nomi:  System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)

public sealed class MenuItemBinding : IStateManager, 
	ICloneable, IDataSourceViewSchemaAccessor

Il tipo MenuItemBinding espone i seguenti membri.

  NomeDescrizione
Metodo pubblicoMenuItemBindingInizializza una nuova istanza della classe MenuItemBinding.
In alto

  NomeDescrizione
Proprietà pubblicaDataMemberOttiene o imposta il membro dati da associare a una voce di menu.
Proprietà pubblicaDepthOttiene o imposta la profondità del menu a cui l'oggetto MenuItemBinding è applicato.
Proprietà pubblicaEnabledOttiene o imposta un valore che indica se la voce di menu a cui è applicato l'oggetto MenuItemBinding è abilitata in modo da poter visualizzare un'immagine popout e tutte le voci di menu figlio.
Proprietà pubblicaEnabledFieldOttiene o imposta il nome del campo dall'origine dati per l'associazione alla proprietà Enabled di un oggetto MenuItem a cui è applicato l'oggetto MenuItemBinding.
Proprietà pubblicaFormatStringOttiene o imposta la stringa che specifica il formato di visualizzazione del testo di una voce di menu a cui viene applicato l'oggetto MenuItemBinding.
Proprietà pubblicaImageUrlOttiene o imposta l'URL di un'immagine visualizzata accanto al testo di una voce di menu a cui viene applicato l'oggetto MenuItemBinding.
Proprietà pubblicaImageUrlFieldOttiene o imposta il nome del campo dall'origine dati per l'associazione alla proprietà ImageUrl di un oggetto MenuItem a cui è applicato l'oggetto MenuItemBinding.
Proprietà pubblicaNavigateUrlOttiene o imposta l'URL a cui collegarsi quando si fa clic su una voce di menu a cui è applicato l'oggetto MenuItemBinding.
Proprietà pubblicaNavigateUrlFieldOttiene o imposta il nome del campo dall'origine dati per l'associazione alla proprietà NavigateUrl di un oggetto MenuItem a cui è applicato l'oggetto MenuItemBinding.
Proprietà pubblicaPopOutImageUrlOttiene o imposta l'URL di un'immagine che indica la presenza di un sottomenu dinamico per una voce di menu a cui è applicato l'oggetto MenuItemBinding.
Proprietà pubblicaPopOutImageUrlFieldOttiene o imposta il nome del campo dall'origine dati per l'associazione alla proprietà PopOutImageUrl di un oggetto MenuItem a cui è applicato l'oggetto MenuItemBinding.
Proprietà pubblicaSelectableOttiene o imposta un valore che indica se la voce di menu a cui è applicato l'oggetto MenuItemBinding può essere selezionata, ovvero se è possibile fare clic su di essa.
Proprietà pubblicaSelectableFieldOttiene o imposta il nome del campo dall'origine dati per l'associazione alla proprietà Selectable di un oggetto MenuItem a cui è applicato l'oggetto MenuItemBinding.
Proprietà pubblicaSeparatorImageUrlOttiene o imposta l'URL di un'immagine visualizzata al di sotto del testo di una voce di menu (per separarla dalle altre voci di menu) per una voce di menu a cui è applicato l'oggetto MenuItemBinding.
Proprietà pubblicaSeparatorImageUrlFieldOttiene o imposta il nome del campo dall'origine dati per l'associazione alla proprietà SeparatorImageUrl di un oggetto MenuItem a cui è applicato l'oggetto MenuItemBinding.
Proprietà pubblicaTargetOttiene o imposta la finestra o il frame di destinazione in cui visualizzare il contenuto della pagina Web associato a una voce di menu a cui è applicato l'oggetto MenuItemBinding.
Proprietà pubblicaTargetFieldOttiene o imposta il nome del campo dall'origine dati per l'associazione alla proprietà Target di un oggetto MenuItem a cui è applicato l'oggetto MenuItemBinding.
Proprietà pubblicaTextOttiene o imposta il testo visualizzato per la voce di menu a cui è applicato l'oggetto MenuItemBinding.
Proprietà pubblicaTextFieldOttiene o imposta il nome del campo dall'origine dati per l'associazione alla proprietà Text di un oggetto MenuItem a cui è applicato l'oggetto MenuItemBinding.
Proprietà pubblicaToolTipOttiene o imposta il testo della descrizione comandi per una voce di menu a cui è applicato l'oggetto MenuItemBinding.
Proprietà pubblicaToolTipFieldOttiene o imposta il nome del campo dall'origine dati per l'associazione alla proprietà ToolTip di un oggetto MenuItem a cui è applicato l'oggetto MenuItemBinding.
Proprietà pubblicaValueOttiene o imposta un valore non visualizzato utilizzato per memorizzare dati aggiuntivi relativi a una voce di menu a cui è applicato l'oggetto MenuItemBinding, ad esempio i dati utilizzati per la gestione degli eventi di postback.
Proprietà pubblicaValueFieldOttiene o imposta il nome del campo dall'origine dati per l'associazione alla proprietà Value di un oggetto MenuItem a cui è applicato l'oggetto MenuItemBinding.
In alto

  NomeDescrizione
Metodo pubblicoEquals(Object) Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object)
Metodo pubblicoGetHashCode Funge da funzione hash per un particolare tipo. (Ereditato da Object)
Metodo pubblicoGetType Ottiene il Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblicoToStringRestituisce una stringa che rappresenta l'oggetto MenuItemBinding. (Esegue l'override di Object.ToString()).
In alto

  NomeDescrizione
Implementazione esplicita dell'interfacciaMetodo privatoICloneable.CloneInfrastruttura. Crea una copia dell'oggetto MenuItemBinding.
Implementazione esplicita dell'interfacciaProprietà privataIDataSourceViewSchemaAccessor.DataSourceViewSchemaPer una descrizione di questo membro, vedere DataSourceViewSchema.
Implementazione esplicita dell'interfacciaProprietà privataIStateManager.IsTrackingViewStateInfrastruttura. Ottiene un valore che indica se l'oggetto MenuItemBinding salva le modifiche apportate al relativo stato di visualizzazione.
Implementazione esplicita dell'interfacciaMetodo privatoIStateManager.LoadViewStateCarica lo stato di visualizzazione precedentemente salvato del nodo.
Implementazione esplicita dell'interfacciaMetodo privatoIStateManager.SaveViewStateInfrastruttura. Salva le modifiche apportate allo stato di visualizzazione in un oggetto Object.
Implementazione esplicita dell'interfacciaMetodo privatoIStateManager.TrackViewStateInfrastruttura. Indica all'oggetto MenuItemBinding di tenere traccia delle modifiche apportate allo stato di visualizzazione.
In alto

Quando il controllo Menu viene associato a un'origine dati in cui ciascun elemento di dati contiene più campi (ad esempio un elemento XML con diversi attributi) e se non è stata definita nessuna associazione delle voci di menu, per impostazione predefinita in una voce di menu verrà visualizzato il valore restituito dal metodo ToString() dell'elemento di dati. Nel caso di un elemento XML, la voce di menu visualizza il nome dell'elemento, che mostra la struttura sottostante del menu, ma non ha altra utilità. È possibile associare le proprietà di una voce di menu a un determinato campo specificando le associazioni delle voci di menu. Oggetto MenuItemBinding che definisce la relazione tra ogni elemento di dati e la voce di menu a cui si sta effettuando l'associazione.

NotaNota

Quando il controllo Menu è associato a un controllo SiteMapDataSource, le associazioni delle voci di menu non hanno effetto. L'associazione viene eseguita automaticamente mediante il provider della mappa del sito.

Gli oggetti MenuItemBinding del controllo Menu vengono memorizzati nella proprietà DataBindings e le associazioni vengono applicate all'origine dati in modo da creare una relazione uno a uno tra la gerarchia di menu e la gerarchia dell'origine dati. Per ogni elemento di dati nell'origine dati, il controllo Menu tenta di creare una corrispondenza tra l'elemento di dati e un oggetto MenuItemBinding per creare l'oggetto MenuItem corrispondente.

Quando si crea un oggetto MenuItemBinding, è necessario specificare i criteri per l'associazione. I criteri indicano quando un elemento di dati deve essere associato a una voce di menu. È possibile specificare la proprietà Depth, la proprietà DataMember o entrambe.

La profondità di una voce di menu indica il livello di menu che viene associato. Nella dichiarazione MenuItemBinding riportata di seguito, ad esempio, i campi Nome e ID dell'origine dati vengono associati rispettivamente alle proprietà Text e Value di tutti i nodi con profondità pari a 0:

<asp:MenuItemBinding Depth="0" TextField="Name" ValueField="ID">

Un membro dati specifica il tipo di elemento di dati nell'origine dati sottostante, ma può rappresentare informazioni diverse a seconda dell'origine dati. Ogni elemento di dati di un'origine dati gerarchica (rappresentato da un oggetto IHierarchyData) espone una proprietà Type che specifica il tipo dell'elemento di dati. Ad esempio, il membro dati per un elemento XML specifica il nome dell'elemento. Se in un'origine dati sono contenuti più tipi di elementi di dati, il tipo di elemento di dati da utilizzare viene specificato dal membro dati. Nella dichiarazione MenuItemBinding riportata di seguito gli elementi <Book> di un controllo XmlDataSource vengono associati a tutti le voci del menu, indipendentemente dalla posizione nella gerarchia:

<asp:MenuItemBinding DataMember="Book" TextField="Title" ValueField= "ISBN">

In alcuni casi è necessario creare un'associazione della voce di menu che specifichi sia un membro di dati, sia una profondità. Questo tipo di associazione spesso viene utilizzato quando l'origine dati contiene elementi a livelli diversi che dispongono dello stesso valore del membro dati. È possibile, ad esempio, che elementi <Item> vengano visualizzati a diversi livelli all'interno di un file XML. Nelle seguenti dichiarazioni MenuItemBinding viene descritto come specificare associazioni delle voci di menu che si applicano a membri dati identici a profondità di menu diverse:

<asp:MenuItemBinding DataMember="Item" Depth="1" TextField="Title">

<asp:MenuItemBinding DataMember="Item" Depth="2" TextField="ISBN">

Se un'associazione di voci di menu viene definita senza una profondità e un membro dati, viene applicata a tutte le voci all'interno del menu. Questo tipo di associazione in genere viene utilizzata quando tutti gli elementi di dati dispongono delle stesse proprietà e devono essere visualizzati in modo identico, indipendentemente dalla profondità del menu.

Una volta stabiliti i criteri di associazione, è possibile associare una proprietà di un oggetto MenuItem che può essere associato a un valore. È possibile effettuare un'associazione a un campo di un elemento di dati o a un valore statico. Quando sono associati a un valore statico, tutti gli oggetti MenuItem a cui è applicato l'oggetto MenuItemBindingcondividono lo stesso valore. Le proprietà associate ai campi contengono i valori del campo corrispondente dell'origine dati.

NotaNota

È possibile eseguire selettivamente l'override di una proprietà associata in un oggetto MenuItem impostando direttamente la proprietà corrispondente.

Nella tabella riportata di seguito vengono elencate le proprietà della classe MenuItemBinding che consente di associare una proprietà dell'oggetto MenuItem a un campo di un elemento di dati.

Proprietà

Descrizione

ImageUrlField

Campo da associare alla proprietà ImageUrl di un oggetto MenuItem.

NavigateUrlField

Campo da associare alla proprietà NavigateUrl di un oggetto MenuItem.

TextField

Campo da associare alla proprietà Text di un oggetto MenuItem.

ToolTipField

Campo da associare alla proprietà ToolTip di un oggetto MenuItem.

ValueField

Campo da associare alla proprietà Value di un oggetto MenuItem.

Nella tabella riportata di seguito vengono elencate le proprietà della classe MenuItemBinding che consente di associare una proprietà dell'oggetto MenuItem a un valore statico.

Proprietà

Descrizione

ImageUrl

Valore statico da associare alla proprietà ImageUrl di un oggetto MenuItem.

NavigateUrl

Valore statico da associare alla proprietà NavigateUrl di un oggetto MenuItem.

Target

Valore statico da associare alla proprietà Target di un oggetto MenuItem.

Text

Valore statico da associare alla proprietà Text di un oggetto MenuItem.

ToolTip

Valore statico da associare alla proprietà ToolTip di un oggetto MenuItem.

Value

Valore statico da associare alla proprietà Value di un oggetto MenuItem.

Se vengono definiti oggetti MenuItemBinding in conflitto, il controllo Menu applica le associazioni delle voci di menu nel seguente ordine di precedenza:

  1. Oggetto MenuItemBinding che definisce e corrisponde sia a una profondità sia a un membro dati.

  2. Oggetto MenuItemBinding che definisce e corrisponde soltanto al membro dati.

  3. Oggetto MenuItemBinding che definisce e corrisponde soltanto alla profondità.

  4. Oggetto MenuItemBinding che non definisce né la profondità né il membro dati. Questo tipo di associazione di voci di menu viene applicato a tutte le voci del menu.

  5. Oggetto MenuItemBinding che non ha una corrispondenza nell'origine dati. In questo caso, il valore restituito dal metodo ToString() dell'elemento di dati viene associato alle proprietà Text e Value delle voci di menu alle quali è applicato l'oggetto MenuItemBinding.

La classe MenuItemBinding consente anche di formattare il testo visualizzato in una voce di menu impostando la proprietà FormatString.

TopicLocation
Procedura dettagliata: controllo del menu a livello di codice di ASP.NETGenerazione di applicazioni Web ASP.NET in Visual Studio
Procedura dettagliata: visualizzazione di un menu in pagine WebGenerazione di applicazioni Web ASP.NET in Visual Studio
Procedura dettagliata: visualizzazione di un menu in pagine WebCompilazione di applicazioni con Visual Web Developer
Procedura dettagliata: controllo del menu a livello di codice di ASP.NETCompilazione di applicazioni Web ASP.NET in Visual Studio

Nell'esempio di codice riportato di seguito viene illustrato come utilizzare gli oggetti MenuItemBinding per definire la relazione tra i campi di un controllo XmlDataSource e le voci di menu in un controllo Menu. Perché questo esempio funzioni correttamente, è necessario copiare i dati XML di esempio che seguono in un file denominato Menu.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>MenuItemBinding Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <h3>MenuItemBinding Example</h3>

      <asp:menu id="NavigationMenu"
        datasourceid="MenuSource"
        runat="server">

        <DataBindings>

          <asp:menuitembinding datamember="MapHomeNode"
            formatstring="({0})" 
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_self" />
          <asp:menuitembinding datamember="MapNode" 
            depth="1"
            formatstring="[{0}]" 
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_blank"/>
          <asp:menuitembinding datamember="MapNode" 
            depth="2"
            formatstring="<{0}>" 
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_blank"/>

        </DataBindings>

      </asp:menu>

      <asp:xmldatasource id="MenuSource"
        datafile="Menu.xml"
        runat="server"/> 

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



Nel codice riportato di seguito sono riportati i dati della mappa del sito di esempio per l'esempio precedente.

<MapHomeNode ImageUrl="~\Images\Home.gif"

Title="Home"

Description="Root Page"

ToolTip="Home Page">

<MapNode ImageUrl="~\Images\Music.gif"

Title="Music"

Description="Music Category"

ToolTip="Music Page">

<MapNode ImageUrl="~\Images\Classical.gif"

Title="Classical"

Description="Classical Section"

ToolTip="Classical Page"/>

<MapNode ImageUrl="~\Images\Rock.gif"

Title="Rock"

Description="Rock Section"

ToolTip="Rock Page"/>

<MapNode ImageUrl="~\Images\Jazz.gif"

Title="Jazz"

Description="Jazz Section"

ToolTip="Jazz Page"/>

</MapNode>

<MapNode ImageUrl="~\Images\Movies.gif"

Title="Movies"

Description="Movies Category"

ToolTip="Movies Page">

<MapNode ImageUrl="~\Images\Action.gif"

Title="Action"

Description="Action Section"

ToolTip="Action Page"/>

<MapNode ImageUrl="~\Images\Drama.gif"

Title="Drama"

Description="Drama Section"

ToolTip="Drama Page"/>

<MapNode ImageUrl="~\Images\Musical.gif"

Title="Musical"

Description="Musical Section"

ToolTip="Musical Page"/>

</MapNode>

</MapHomeNode>

.NET Framework

Supportato in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2014 Microsoft