MenuItemBinding.Depth Właściwość

Definicja

Pobiera lub ustawia głębokość menu, do której MenuItemBinding jest stosowany obiekt.

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

Wartość właściwości

Int32

Głębokość menu, do której zastosowano MenuItemBinding element . Wartość domyślna to -1, co oznacza, że ta właściwość nie jest ustawiona.

Atrybuty

Przykłady

W poniższym przykładzie kodu pokazano, jak za pomocą Depth właściwości określić głębokość menu, w której ma być stosowany MenuItemBinding obiekt. Aby ten przykład działał poprawnie, należy skopiować przykładowe dane XML poniżej do pliku o nazwie 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>

Poniższy kod to przykładowe dane mapy witryny dla poprzedniego przykładu.

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

Uwagi

Podczas tworzenia MenuItemBinding obiektu należy określić kryteria powiązania. Kryteria wskazują, kiedy element danych powinien być powiązany z elementem menu. Można określić Depth właściwość, DataMember właściwość lub obie te właściwości.

Depth Użyj właściwości , aby określić głębokość menu, w której ma być stosowany MenuItemBinding obiekt. Na przykład następująca MenuItemBinding deklaracja wiąże pola Nazwa i Identyfikator źródła danych z Text właściwościami i Value , odpowiednio, ze wszystkimi elementami menu o głębokości 0:

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

Czasami może być konieczne utworzenie powiązania elementu menu, które określa zarówno głębokość, jak i element członkowski danych. Jest to często używane, gdy źródło danych zawiera elementy na różnych poziomach, które mają tę samą wartość elementu członkowskiego danych. Na przykład możesz mieć <Item> elementy, które są wyświetlane na różnych poziomach w pliku XML. Poniższe MenuItemBinding deklaracje pokazują, jak określić powiązania elementów menu, które mają zastosowanie do identycznych elementów członkowskich danych w różnych głębokościach menu:

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

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

Jeśli powiązanie elementu menu jest definiowane bez głębokości i elementu członkowskiego danych, powiązanie elementu menu jest stosowane do wszystkich elementów menu w menu. Jest to często używane, gdy wszystkie elementy danych mają te same właściwości i powinny być wyświetlane identycznie, niezależnie od głębokości menu.

Po ustanowieniu kryteriów powiązania można powiązać właściwość MenuItem obiektu, który może być powiązany z wartością. Można powiązać z polem elementu danych lub z wartością statyczną. Po powiązaniu z wartością statyczną wszystkie MenuItem obiekty, do których MenuItemBinding zastosowano obiekt, mają taką samą wartość. Właściwości powiązane z polami zawierają wartości pola ze źródła danych.

Jeśli obiekty powodujące konflikt MenuItemBinding są zdefiniowane, kontrolka Menu stosuje powiązania elementów menu w następującej kolejności pierwszeństwa:

  1. Obiekt MenuItemBinding , który definiuje i dopasuje zarówno głębokość, jak i element członkowski danych.

  2. Obiekt MenuItemBinding , który definiuje i pasuje tylko do elementu członkowskiego danych.

  3. Obiekt MenuItemBinding , który definiuje i dopasuje tylko głębokość.

  4. Obiekt MenuItemBinding , który nie definiuje ani głębokości, ani elementu członkowskiego danych. (Ten typ powiązania elementu menu jest stosowany do wszystkich elementów menu w menu).

  5. Obiekt MenuItemBinding , który nie ma dopasowania w źródle danych. W takim przypadku wartość zwracana przez ToString() metodę elementu danych jest następnie powiązana z Text właściwościami i Value elementów menu, do których MenuItemBinding jest stosowany obiekt.

Dotyczy

Zobacz też