MenuItemBinding Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Definisce la relazione tra un elemento dati e la voce di menu a cui è associato in un controllo Menu. La classe non può essere ereditata.
public ref class MenuItemBinding sealed : ICloneable, System::Web::UI::IDataSourceViewSchemaAccessor, System::Web::UI::IStateManager
public sealed class MenuItemBinding : ICloneable, System.Web.UI.IDataSourceViewSchemaAccessor, System.Web.UI.IStateManager
type MenuItemBinding = class
interface IStateManager
interface ICloneable
interface IDataSourceViewSchemaAccessor
Public NotInheritable Class MenuItemBinding
Implements ICloneable, IDataSourceViewSchemaAccessor, IStateManager
- Ereditarietà
-
MenuItemBinding
- Implementazioni
Esempio
Nell'esempio di codice seguente viene illustrato come usare MenuItemBinding oggetti per definire la relazione tra i campi di un XmlDataSource controllo e le voci di menu in un Menu controllo. Per il corretto funzionamento di questo esempio, è necessario copiare i dati XML di esempio seguenti 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>
<%@ 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>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>
Il codice seguente è 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>
Commenti
Quando il controllo è associato a un'origine Menu dati in cui ogni elemento dati contiene più campi (ad esempio un elemento XML con diversi attributi), se non vengono definite associazioni di voci di menu, una voce di menu visualizza il valore restituito dal metodo dell'elemento ToString()
di dati per impostazione predefinita. Nel caso di un elemento XML, la voce di menu visualizza il nome dell'elemento, che mostra la struttura sottostante del menu, ma non è molto utile in caso contrario. È possibile associare le proprietà di una voce di menu a un campo specifico specifica specificando associazioni di voci di menu. Un MenuItemBinding oggetto definisce la relazione tra ogni elemento di dati e la voce di menu a cui si associa.
Nota
Quando il Menu controllo è associato a un SiteMapDataSource controllo, le associazioni di voci di menu non hanno alcun effetto. L'associazione viene eseguita automaticamente usando il provider di mappe del sito.
Il Menu controllo archivia MenuItemBinding gli oggetti nella DataBindings proprietà e applica le associazioni all'origine dati per creare una relazione uno-a-uno tra la gerarchia dei menu e la gerarchia dell'origine dati. Per ogni elemento di dati nell'origine dati, il Menu controllo tenta di associare l'elemento di dati a un MenuItemBinding oggetto per creare l'oggetto corrispondente MenuItem .
Quando si crea un MenuItemBinding oggetto, è necessario specificare i criteri per l'associazione. I criteri indicano quando un elemento dati deve essere associato a una voce di menu. È possibile specificare Depth, o DataMemberentrambi.
Una profondità della voce di menu specifica il livello di menu associato. Ad esempio, la dichiarazione seguente MenuItemBinding associa i campi Name e ID dell'origine dati alle Text proprietà e Value , rispettivamente, di tutti i nodi con una profondità di 0:
<asp:MenuItemBinding Depth="0" TextField="Name" ValueField="ID">
Un membro dati specifica il tipo dell'elemento di dati nell'origine dati sottostante, ma può rappresentare informazioni diverse a seconda dell'origine dati. Ogni elemento di dati in un'origine dati gerarchica (rappresentata da un IHierarchyData oggetto) espone una Type proprietà, che specifica il tipo dell'elemento di dati. Ad esempio, il membro dati per un elemento XML specifica il nome dell'elemento. Quando un'origine dati contiene più tipi di elemento di dati, il membro dati specifica il tipo di elemento di dati da usare. La dichiarazione seguente MenuItemBinding associa gli <Book>
elementi di un XmlDataSource controllo a tutte le voci di menu nel menu, indipendentemente dalla posizione nella gerarchia:
<asp:MenuItemBinding DataMember="Book" TextField="Title" ValueField= "ISBN">
A volte potrebbe essere necessario creare un'associazione di voci di menu che specifica sia una profondità che un membro dati. Questa operazione viene spesso usata quando l'origine dati contiene elementi a livelli diversi con lo stesso valore del membro dati. Ad esempio, è possibile disporre <Item>
di elementi visualizzati a livelli diversi all'interno di un file XML. Le dichiarazioni seguenti MenuItemBinding illustrano come specificare associazioni di voci di menu che si applicano a membri di 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 è definita senza profondità e un membro dati, l'associazione delle voci di menu viene applicata a tutte le voci di menu all'interno del menu. Questa operazione viene comunemente usata quando tutti gli elementi dati hanno le stesse proprietà e devono essere visualizzati in modo identico, indipendentemente dalla profondità del menu.
Dopo aver stabilito i criteri di associazione, è quindi possibile associare una proprietà di un MenuItem oggetto che può essere associato a un valore. È possibile associare a un campo di un elemento di dati o a un valore statico. Se associato a un valore statico, tutti gli MenuItem oggetti a cui viene applicato l'oggetto MenuItemBinding condividono lo stesso valore. Le proprietà associate ai campi contengono i valori del campo corrispondente dall'origine dati.
Nota
È possibile eseguire l'override selettiva di una proprietà associata in un MenuItem oggetto impostando direttamente la proprietà corrispondente.
Nella tabella seguente sono elencate le proprietà della MenuItemBinding classe che consentono di associare una proprietà dell'oggetto MenuItem a un campo di un elemento dati.
Proprietà | Descrizione |
---|---|
ImageUrlField | Campo da associare alla ImageUrl proprietà di un MenuItem oggetto. |
NavigateUrlField | Campo da associare alla NavigateUrl proprietà di un MenuItem oggetto. |
TextField | Campo da associare alla Text proprietà di un MenuItem oggetto. |
ToolTipField | Campo da associare alla ToolTip proprietà di un MenuItem oggetto. |
ValueField | Campo da associare alla Value proprietà di un MenuItem oggetto. |
Nella tabella seguente sono elencate le proprietà della MenuItemBinding classe che consentono di associare una proprietà dell'oggetto MenuItem a un valore statico.
Proprietà | Descrizione |
---|---|
ImageUrl | Valore statico da associare alla ImageUrl proprietà di un MenuItem oggetto. |
NavigateUrl | Valore statico da associare alla NavigateUrl proprietà di un MenuItem oggetto. |
Target | Valore statico da associare alla Target proprietà di un MenuItem oggetto. |
Text | Valore statico da associare alla Text proprietà di un MenuItem oggetto. |
ToolTip | Valore statico da associare alla ToolTip proprietà di un MenuItem oggetto. |
Value | Valore statico da associare alla Value proprietà di un MenuItem oggetto. |
Se vengono definiti oggetti in conflitto MenuItemBinding , il Menu controllo applica le associazioni di voci di menu nell'ordine di precedenza seguente:
Oggetto MenuItemBinding che definisce e corrisponde sia a una profondità che a un membro dati.
Oggetto MenuItemBinding che definisce e corrisponde solo al membro dati.
Oggetto MenuItemBinding che definisce e corrisponde solo alla profondità.
Oggetto MenuItemBinding che definisce né la profondità né il membro dati. Questo tipo di associazione di voci di menu viene applicata a tutte le voci di menu nel menu.
Oggetto MenuItemBinding che non ha una corrispondenza nell'origine dati. In questo caso, il valore restituito dal
ToString()
metodo dell'elemento di dati viene quindi associato alle Text proprietà e Value delle voci di menu a cui viene applicato l'oggetto MenuItemBinding .
La MenuItemBinding classe consente inoltre di formattare il testo visualizzato in una voce di menu impostando la FormatString proprietà.
Costruttori
MenuItemBinding() |
Inizializza una nuova istanza della classe MenuItemBinding. |
Proprietà
DataMember |
Ottiene o imposta il membro dati da associare a una voce di menu. |
Depth |
Ottiene o imposta la profondità del menu a cui l'oggetto MenuItemBinding è applicato. |
Enabled |
Ottiene 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. |
EnabledField |
Ottiene 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. |
FormatString |
Ottiene o imposta la stringa che specifica il formato di visualizzazione del testo di una voce di menu a cui viene applicato l'oggetto MenuItemBinding. |
ImageUrl |
Ottiene o imposta l'URL di un'immagine visualizzata accanto al testo di una voce di menu a cui viene applicato l'oggetto MenuItemBinding. |
ImageUrlField |
Ottiene 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. |
NavigateUrl |
Ottiene o imposta l'URL a cui collegarsi quando si fa clic su una voce di menu a cui è applicato l'oggetto MenuItemBinding. |
NavigateUrlField |
Ottiene 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. |
PopOutImageUrl |
Ottiene 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. |
PopOutImageUrlField |
Ottiene 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. |
Selectable |
Ottiene 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. |
SelectableField |
Ottiene 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. |
SeparatorImageUrl |
Ottiene 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. |
SeparatorImageUrlField |
Ottiene 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. |
Target |
Ottiene 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. |
TargetField |
Ottiene 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. |
Text |
Ottiene o imposta il testo visualizzato per la voce di menu a cui è applicato l'oggetto MenuItemBinding. |
TextField |
Ottiene 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. |
ToolTip |
Ottiene o imposta il testo della descrizione comandi per una voce di menu a cui è applicato l'oggetto MenuItemBinding. |
ToolTipField |
Ottiene 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. |
Value |
Ottiene 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. |
ValueField |
Ottiene 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. |
Metodi
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. |
Implementazioni dell'interfaccia esplicita
ICloneable.Clone() |
Crea una copia dell'oggetto MenuItemBinding. |
IDataSourceViewSchemaAccessor.DataSourceViewSchema |
Per una descrizione di questo membro, vedere DataSourceViewSchema. |
IStateManager.IsTrackingViewState |
Ottiene un valore che indica se l'oggetto MenuItemBinding salva le modifiche apportate al relativo stato di visualizzazione. |
IStateManager.LoadViewState(Object) |
Carica lo stato di visualizzazione precedentemente salvato del nodo. |
IStateManager.SaveViewState() |
Salva le modifiche apportate allo stato di visualizzazione in un oggetto Object. |
IStateManager.TrackViewState() |
Indica all'oggetto MenuItemBinding di tenere traccia delle modifiche apportate allo stato di visualizzazione. |
Si applica a
Vedi anche
- Menu
- MenuItem
- MenuItemBindingCollection
- AccessDataSource
- ObjectDataSource
- SiteMapDataSource
- SqlDataSource
- XmlDataSource
- DataBindings
- DataMember
- Depth
- FormatString
- ImageUrl
- ImageUrl
- ImageUrlField
- NavigateUrl
- NavigateUrl
- NavigateUrlField
- Target
- Text
- Text
- TextField
- ToolTip
- ToolTip
- ToolTipField
- Value
- ValueField