Freigeben über


MenuItemBinding.Depth Eigenschaft

Definition

Dient zum Abrufen oder Festlegen der Menütiefe, auf die das MenuItemBinding Objekt angewendet wird.

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

Eigenschaftswert

Die Menütiefe, auf die die MenuItemBinding Menütiefe angewendet wird. Der Standardwert ist -1, der angibt, dass diese Eigenschaft nicht festgelegt ist.

Attribute

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die Depth Eigenschaft verwendet wird, um die Menütiefe anzugeben, auf die ein MenuItemBinding Objekt angewendet werden soll. Damit dieses Beispiel ordnungsgemäß funktioniert, müssen Sie die folgenden XML-Beispieldaten in eine Datei mit dem Namen MenuDepth.xmlkopieren.


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

Der folgende Code ist Beispielwebsitezuordnungsdaten für das vorherige Beispiel.

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

Hinweise

Beim Erstellen eines MenuItemBinding Objekts müssen Sie die Kriterien für die Bindung angeben. Die Kriterien geben an, wann ein Datenelement an ein Menüelement gebunden werden soll. Sie können die Depth Eigenschaft, die DataMember Eigenschaft oder beides angeben.

Verwenden Sie die Depth Eigenschaft, um die Menütiefe anzugeben, auf die das MenuItemBinding Objekt angewendet werden soll. Mit der folgenden MenuItemBinding Deklaration werden beispielsweise die Felder "Name" und "ID" der Datenquelle an alle TextValue Menüelemente mit einer Tiefe von 0 gebunden:

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

Manchmal müssen Sie möglicherweise eine Menüelementbindung erstellen, die sowohl eine Tiefe als auch ein Datenelement angibt. Dies wird häufig verwendet, wenn die Datenquelle Elemente auf verschiedenen Ebenen mit demselben Datenmemmwert enthält. Sie können z. B. Elemente enthalten <Item> , die auf unterschiedlichen Ebenen in einer XML-Datei angezeigt werden. Die folgenden MenuItemBinding Deklarationen zeigen, wie Menüelementbindungen angegeben werden, die für identische Datenelemente in unterschiedlichen Menütiefen gelten:

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

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

Wenn eine Menüelementbindung ohne Tiefe und ein Datenelement definiert ist, wird die Menüelementbindung auf alle Menüelemente im Menü angewendet. Dies wird häufig verwendet, wenn alle Datenelemente dieselben Eigenschaften aufweisen und unabhängig von der Menütiefe identisch angezeigt werden sollen.

Nachdem die Bindungskriterien festgelegt wurden, können Sie eine Eigenschaft eines MenuItem Objekts binden, die an einen Wert gebunden werden kann. Sie können eine Bindung an ein Feld eines Datenelements oder an einen statischen Wert erstellen. Wenn sie an einen statischen Wert gebunden ist, haben alle MenuItem Objekte, auf die das MenuItemBinding Objekt angewendet wird, denselben Wert. Eigenschaften, die an Felder gebunden sind, enthalten die Werte des Felds aus der Datenquelle.

Wenn Konflikte verursachende MenuItemBinding Objekte definiert sind, wendet das Menu Steuerelement die Menüelementbindungen in der folgenden Reihenfolge der Rangfolge an:

  1. Das MenuItemBinding Objekt, das sowohl eine Tiefe als auch ein Datenmememm definiert und übereinstimmt.

  2. Das MenuItemBinding Objekt, das nur das Datenmemm definiert und dem Datenmemm entspricht.

  3. Das MenuItemBinding Objekt, das nur die Tiefe definiert und entspricht.

  4. Das MenuItemBinding Objekt, das weder die Tiefe noch das Datenelement definiert. (Diese Art der Menüelementbindung wird auf alle Menüelemente im Menü angewendet.)

  5. Das MenuItemBinding Objekt, das keine Übereinstimmung in der Datenquelle hat. In diesem Fall wird der von der ToString() Methode des Datenelements zurückgegebene Wert dann an die Text Eigenschaften und Value Eigenschaften der Menüelemente gebunden, auf die das MenuItemBinding Objekt angewendet wird.

Gilt für:

Weitere Informationen