MenuItemBinding.Depth Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar eller anger det menydjup som MenuItemBinding objektet används på.
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
Egenskapsvärde
Menydjupet MenuItemBinding som används. Standardvärdet är -1, vilket anger att den här egenskapen inte har angetts.
- Attribut
Exempel
I följande kodexempel visas hur du använder Depth egenskapen för att ange det menydjup där ett MenuItemBinding objekt ska användas. För att det här exemplet ska fungera korrekt måste du kopiera XML-exempeldata nedan till en fil med namnet 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>
Följande kod är exempel på webbplatsöversiktsdata för föregående exempel.
<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>
Kommentarer
När du skapar ett MenuItemBinding objekt måste du ange villkoret för bindning. Villkoret anger när ett dataobjekt ska bindas till ett menyalternativ. Du kan ange egenskapen Depth , egenskapen DataMember eller båda.
Använd egenskapen Depth för att ange det menydjup som objektet ska användas MenuItemBinding på. Följande deklaration binder till exempel MenuItemBinding fälten Namn och ID för datakällan till Text egenskaperna och Value för alla menyalternativ med djupet 0:
<asp:MenuItemBinding Depth="0" TextField="Name" ValueField="ID">
Ibland kan du behöva skapa en menyobjektbindning som anger både ett djup och en datamedlem. Detta används ofta när datakällan innehåller objekt på olika nivåer som har samma datamedlemsvärde. Du kan till exempel ha <Item> element som visas på olika nivåer i en XML-fil. Följande MenuItemBinding deklarationer visar hur du anger menyalternativbindningar som gäller för identiska datamedlemmar på olika menydjup:
<asp:MenuItemBinding DataMember="Item" Depth="1" TextField="Title">
<asp:MenuItemBinding DataMember="Item" Depth="2" TextField="ISBN">
Om en menyobjektbindning definieras utan djup och en datamedlem tillämpas menyobjektbindningen på alla menyalternativ i menyn. Detta används ofta när alla dataobjekt har samma egenskaper och bör visas på samma sätt, oavsett menydjup.
När bindningsvillkoren har upprättats kan du sedan binda en egenskap för ett MenuItem objekt som kan bindas till ett värde. Du kan binda till ett fält i ett dataobjekt eller till ett statiskt värde. När det är bundet till ett statiskt värde delar alla MenuItem objekt som MenuItemBinding objektet tillämpas på samma värde. Egenskaper som är bundna till fält innehåller värdena för fältet från datakällan.
Om motstridiga MenuItemBinding objekt definieras Menu tillämpar kontrollen menyobjektbindningarna i följande prioritetsordning:
Objektet MenuItemBinding som definierar och matchar både ett djup och en datamedlem.
Objektet MenuItemBinding som endast definierar och matchar datamedlemmen.
Objektet MenuItemBinding som definierar och matchar endast djupet.
Objektet MenuItemBinding som varken definierar djupet eller datamedlemmen. (Den här typen av menyobjektsbindning tillämpas på alla menyalternativ i menyn.)
Objektet MenuItemBinding som inte har någon matchning i datakällan. I det här fallet binds värdet som returneras av
ToString()metoden för dataobjektet till Text egenskaperna och Value för menyobjekten MenuItemBinding som objektet tillämpas på.