Compartilhar via


MenuItemBinding.Depth Propriedade

Definição

Obtém ou define a profundidade do menu ao qual o objeto MenuItemBinding é aplicado.

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

Valor da propriedade

Int32

A profundidade do menu à qual a ação MenuItemBinding é aplicada. O padrão é -1, que indica que essa propriedade não está definida.

Atributos

Exemplos

O exemplo de código a seguir demonstra como usar a Depth propriedade para especificar a profundidade do menu na qual aplicar um MenuItemBinding objeto. Para que este exemplo funcione corretamente, você deve copiar os dados XML de exemplo abaixo para um arquivo chamado 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>

O código a seguir é dados de mapa de site de exemplo para o exemplo anterior.

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

Comentários

Ao criar um MenuItemBinding objeto, você deve especificar os critérios de associação. Os critérios indicam quando um item de dados deve ser associado a um item de menu. Você pode especificar a Depth propriedade, a DataMember propriedade ou ambos.

Use a Depth propriedade para especificar a profundidade do menu na qual aplicar o MenuItemBinding objeto. Por exemplo, a declaração a seguir MenuItemBinding associa os campos Nome e ID da fonte de dados às propriedades e Value à Text fonte de dados, respectivamente, de todos os itens de menu com uma profundidade de 0:

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

Às vezes, talvez seja necessário criar uma associação de item de menu que especifique uma profundidade e um membro de dados. Isso geralmente é usado quando a fonte de dados contém itens em diferentes níveis que têm o mesmo valor de membro de dados. Por exemplo, você pode ter <Item> elementos que aparecem em diferentes níveis dentro de um arquivo XML. As seguintes MenuItemBinding declarações mostram como especificar associações de item de menu que se aplicam a membros de dados idênticos em diferentes profundidades de menu:

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

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

Se uma associação de item de menu for definida sem uma profundidade e um membro de dados, a associação de item de menu será aplicada a todos os itens de menu no menu. Isso geralmente é usado quando todos os itens de dados têm as mesmas propriedades e devem ser exibidos de forma idêntica, independentemente da profundidade do menu.

Depois que os critérios de associação forem estabelecidos, você poderá associar uma propriedade de um MenuItem objeto que pode ser associada a um valor. Você pode associar a um campo de um item de dados ou a um valor estático. Quando associado a um valor estático, todos os MenuItem objetos aos quais o MenuItemBinding objeto é aplicado compartilham o mesmo valor. As propriedades associadas a campos contêm os valores do campo da fonte de dados.

Se objetos conflitantes MenuItemBinding forem definidos, o Menu controle aplicará as associações de item de menu na seguinte ordem de precedência:

  1. O MenuItemBinding objeto que define e corresponde a uma profundidade e a um membro de dados.

  2. O MenuItemBinding objeto que define e corresponde somente ao membro de dados.

  3. O MenuItemBinding objeto que define e corresponde somente à profundidade.

  4. O MenuItemBinding objeto que não define nem a profundidade nem o membro de dados. (Esse tipo de associação de item de menu é aplicado a todos os itens de menu no menu.)

  5. O MenuItemBinding objeto que não tem uma correspondência na fonte de dados. Nesse caso, o valor retornado pelo ToString() método do item de dados é associado às Text propriedades e Value aos itens de menu aos quais o MenuItemBinding objeto é aplicado.

Aplica-se a

Confira também