MenuItemBinding.Depth Proprietà

Definizione

Ottiene o imposta la profondità del menu a cui l'oggetto MenuItemBinding è applicato.

public:
 property int Depth { int get(); void set(int value); };
[System.ComponentModel.TypeConverter("System.Web.UI.Design.WebControls.TreeNodeBindingDepthConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public int Depth { get; set; }
[System.ComponentModel.TypeConverter("System.Web.UI.Design.WebControls.TreeNodeBindingDepthConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public int Depth { get; set; }
[<System.ComponentModel.TypeConverter("System.Web.UI.Design.WebControls.TreeNodeBindingDepthConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
member this.Depth : int with get, set
[<System.ComponentModel.TypeConverter("System.Web.UI.Design.WebControls.TreeNodeBindingDepthConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
member this.Depth : int with get, set
Public Property Depth As Integer

Valore della proprietà

Profondità del menu a cui è applicato l'oggetto MenuItemBinding. Il valore predefinito è -1, che indica che la proprietà non è impostata.

Attributi

Esempio

Nell'esempio di codice seguente viene illustrato come usare la proprietà per specificare la profondità del Depth menu in corrispondenza della quale applicare un MenuItemBinding oggetto. Per il corretto funzionamento di questo esempio, è necessario copiare i dati XML di esempio seguenti in un file denominato MenuDepth.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 Depth Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <h3>MenuItemBinding Depth Example</h3>

      <asp:menu id="NavigationMenu"
        datasourceid="MenuSource"
        runat="server">
        
        <databindings>
        
          <asp:menuitembinding depth="0"
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_self" />
          <asp:menuitembinding depth="1"
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_blank"/>
          <asp:menuitembinding depth="2"
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_blank"/>
          
        </databindings>
        
      </asp:menu>

      <asp:xmldatasource id="MenuSource"
        datafile="MenuDepth.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 Depth Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <h3>MenuItemBinding Depth Example</h3>

      <asp:menu id="NavigationMenu"
        datasourceid="MenuSource"
        runat="server">
        
        <databindings>
        
          <asp:menuitembinding depth="0"
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_self" />
          <asp:menuitembinding depth="1"
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_blank"/>
          <asp:menuitembinding depth="2"
            textfield="Title"
            valuefield="Description"
            imageurlfield="ImageUrl"
            tooltipfield="ToolTip"
            target="_blank"/>
          
        </databindings>
        
      </asp:menu>

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

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

Il codice seguente è i dati della mappa del sito di esempio per l'esempio precedente.

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

</MapNode>

Commenti

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 la Depth proprietà, la DataMember proprietà o entrambi.

Utilizzare la Depth proprietà per specificare la profondità del menu in corrispondenza della quale applicare l'oggetto MenuItemBinding . Ad esempio, la dichiarazione seguente MenuItemBinding associa i campi Name e ID dell'origine dati alle Text proprietà e Value , rispettivamente, di tutte le voci di menu con una profondità di 0:

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

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 dall'origine dati.

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

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

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

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

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

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

Si applica a

Vedi anche