MenuItemBinding.Depth Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
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:
Obiekt MenuItemBinding , który definiuje i dopasuje zarówno głębokość, jak i element członkowski danych.
Obiekt MenuItemBinding , który definiuje i pasuje tylko do elementu członkowskiego danych.
Obiekt MenuItemBinding , który definiuje i dopasuje tylko głębokość.
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).
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.