Sdílet prostřednictvím


MenuItemBinding.Depth Vlastnost

Definice

Získá nebo nastaví hloubku nabídky, na kterou MenuItemBinding je objekt použit.

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

Hodnota vlastnosti

Hloubka nabídky, na kterou MenuItemBinding se použije. Výchozí hodnota je -1, což označuje, že tato vlastnost není nastavena.

Atributy

Příklady

Následující příklad kódu ukazuje, jak použít Depth vlastnost k určení hloubky nabídky, ve které se má použít MenuItemBinding objekt. Aby tento příklad fungoval správně, musíte zkopírovat ukázková data XML níže do souboru s názvem 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>

Následující kód představuje ukázková data mapy webu pro předchozí příklad.

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

Poznámky

Při vytváření objektu MenuItemBinding je nutné zadat kritéria pro vazbu. Kritéria označují, kdy má být datová položka vázána na položku nabídky. Můžete zadat Depth vlastnost, DataMember vlastnost nebo obojí.

Depth Pomocí vlastnosti zadejte hloubku nabídky, ve které se má objekt použítMenuItemBinding. Například následující MenuItemBinding deklarace sváže pole Název a ID zdroje dat s Text vlastnostmi a Value vlastnostmi všech položek nabídky s hloubkou 0:

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

Někdy může být potřeba vytvořit vazbu položky nabídky, která určuje hloubku i datový člen. To se často používá, když zdroj dat obsahuje položky na různých úrovních, které mají stejnou hodnotu datového členu. Můžete <Item> mít například prvky, které se v souboru XML zobrazují na různých úrovních. Následující MenuItemBinding deklarace ukazují, jak určit vazby položek nabídky, které se vztahují na identické datové členy v různých hloubkách nabídky:

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

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

Pokud je vazba položky nabídky definována bez hloubky a datového členu, použije se vazba položky nabídky na všechny položky nabídky v nabídce. To se běžně používá, když všechny datové položky mají stejné vlastnosti a měly by se zobrazit identicky bez ohledu na hloubku nabídky.

Po vytvoření vazebních kritérií můžete vytvořit vazbu vlastnosti objektu MenuItem , který může být vázán na hodnotu. Můžete vytvořit vazbu na pole datové položky nebo na statickou hodnotu. Při vazbě na statickou hodnotu sdílejí všechny MenuItem objekty, na které MenuItemBinding je objekt použit, stejnou hodnotu. Vlastnosti vázané na pole obsahují hodnoty pole ze zdroje dat.

Pokud jsou definovány konfliktní MenuItemBinding objekty, Menu ovládací prvek použije vazby položek nabídky v následujícím pořadí priorit:

  1. Objekt MenuItemBinding , který definuje a odpovídá hloubkové i datovému členu.

  2. Objekt MenuItemBinding , který definuje a odpovídá pouze datovému členu.

  3. Objekt MenuItemBinding , který definuje a odpovídá pouze hloubkě.

  4. Objekt MenuItemBinding , který definuje hloubku ani datový člen. (Tento typ vazby položky nabídky se použije u všech položek nabídky v nabídce.)

  5. Objekt MenuItemBinding , který nemá shodu ve zdroji dat. V tomto případě je hodnota vrácená metodou ToString() datové položky vázána na Text a Value vlastnosti položek nabídky, na které MenuItemBinding je objekt použit.

Platí pro

Viz také