Condividi tramite


Menu.DataBindings Proprietà

Definizione

Ottiene una raccolta di oggetti MenuItemBinding che definiscono la relazione tra un elemento di dati e la voce di menu a cui è associato.

public:
 property System::Web::UI::WebControls::MenuItemBindingCollection ^ DataBindings { System::Web::UI::WebControls::MenuItemBindingCollection ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.MenuItemBindingCollection DataBindings { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.DataBindings : System.Web.UI.WebControls.MenuItemBindingCollection
Public ReadOnly Property DataBindings As MenuItemBindingCollection

Valore della proprietà

Oggetto MenuItemBindingCollection che rappresenta la relazione tra un elemento di dati e la voce di menu a cui è associato.

Attributi

Esempio

Nell'esempio di codice seguente viene illustrato come usare la raccolta per definire la DataBindings 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 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>

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

<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

L'insieme DataBindings contiene MenuItemBinding oggetti che definiscono la relazione tra una voce di dati e la voce di menu a cui si associa. Quando si associa a un'origine dati in cui ogni elemento di dati contiene più proprietà (ad esempio un elemento XML con diversi attributi), 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 dell'albero, ma non è molto utile in caso contrario. È possibile associare una voce di menu a una proprietà voce di dati specifica specificando associazioni di voci di menu.

Quando si definisce la relazione tra un elemento di dati e una voce di menu, è necessario specificare sia i criteri per l'associazione che la proprietà di un elemento di dati a cui associare. I criteri indicano quando un elemento dati deve essere associato a una voce di menu. I criteri possono essere specificati con una profondità, un membro dati o entrambi. La profondità specifica il livello di menu associato. Ad esempio, se si specifica una profondità di 0, tutte le voci di menu nella struttura ad albero a livello 0 vengono associate usando l'associazione della voce di menu. Un membro dati specifica il tipo dell'elemento di dati nell'origine dati sottostante, ma può rappresentare informazioni diverse a seconda dell'origine dati. Ad esempio, il membro dati per un elemento XML specifica il nome dell'elemento.

Se sono definiti più MenuItemBinding oggetti in conflitto tra loro, il Menu controllo applica le associazioni delle voci di menu nell'ordine di precedenza seguente:

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

  2. Oggetto MenuItemBinding che definisce solo la profondità.

  3. Oggetto MenuItemBinding che definisce solo il membro dati.

  4. Oggetto MenuItemBinding che definisce né la profondità né il membro dati.

Dopo aver stabilito i criteri di associazione, è quindi possibile associare una proprietà di un MenuItem oggetto che può essere associato a un attributo o a un campo di un elemento dati. Ad esempio, è possibile associare la Text proprietà di una voce di menu all'attributo di testo in un elemento XML impostando la TextField proprietà di un MenuItemBinding oggetto. È anche possibile associare a un valore statico. Se si imposta la proprietà di un MenuItemBinding oggetto, tutte le voci di menu a cui viene applicato l'oggetto TextMenuItemBinding condividono lo stesso valore di testo statico. Per altre informazioni sull'associazione delle proprietà di un oggetto a un MenuItem valore, vedere MenuItemBinding.

Anche se la DataBindings raccolta può essere popolata a livello di codice, viene in genere impostata in modo dichiarativo. Per specificare le associazioni delle voci di menu, prima di tutto annidare i tag di apertura e chiusura <DataBindings> tra i tag di apertura e chiusura del Menu controllo. <asp:MenuItemBinding> Posizionare quindi gli elementi tra i tag di apertura e chiusura <DataBindings> per ogni associazione di voci di menu da specificare.

Si applica a

Vedi anche