MenuItemBinding.Depth Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft die Menütiefe ab, auf die das MenuItemBinding-Objekt angewendet wird, oder legt diese fest.
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 angewendet wird. Der Standardwert ist -1 und bedeutet, dass diese Eigenschaft nicht festgelegt wurde.
- Attribute
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie die Depth -Eigenschaft verwendet wird, um die Menütiefe anzugeben, in der 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.xml kopieren.
<%@ 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 sind Beispielwebsiteübersichtsdaten 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, in der das MenuItemBinding Objekt angewendet werden soll. Die folgende MenuItemBinding Deklaration bindet beispielsweise die Felder Name und ID der Datenquelle an die Text Eigenschaften und Value aller Menüelemente mit einer Tiefe von 0:
<asp:MenuItemBinding Depth="0" TextField="Name" ValueField="ID">
Manchmal müssen Sie möglicherweise eine Menüelementbindung erstellen, die sowohl eine Tiefe als auch einen Datenmember angibt. Dies wird häufig verwendet, wenn die Datenquelle Elemente auf verschiedenen Ebenen enthält, die denselben Datenmemberwert aufweisen. Beispielsweise können Sie Elemente haben <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 einen Datenmember definiert ist, wird die Menüelementbindung auf alle Menüelemente im Menü angewendet. Dies wird häufig verwendet, wenn alle Datenelemente über dieselben Eigenschaften verfügen und unabhängig von der Menütiefe identisch angezeigt werden sollten.
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 herstellen. Wenn sie an einen statischen Wert gebunden sind, haben alle MenuItem Objekte, auf die das MenuItemBinding Objekt angewendet wird, den gleichen Wert. An Felder gebundene Eigenschaften enthalten die Werte des Felds aus der Datenquelle.
Wenn in Konflikt stehende MenuItemBinding Objekte definiert sind, wendet das Menu Steuerelement die Menüelementbindungen in der folgenden Rangfolge an:
Das MenuItemBinding Objekt, das sowohl eine Tiefen- als auch ein Datenmember definiert und abgleicht.
Das MenuItemBinding Objekt, das nur den Datenmember definiert und abgleicht.
Das MenuItemBinding Objekt, das nur die Tiefe definiert und entspricht.
Das MenuItemBinding -Objekt, das weder die Tiefe noch den Datenmember definiert. (Diese Art der Menüelementbindung wird auf alle Menüelemente im Menü angewendet.)
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 der Menüelemente gebunden, auf die das MenuItemBinding Objekt angewendet wird.