MenuItemBinding.DataMember 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 att datamedlemmen ska binda till ett menyalternativ.
public:
property System::String ^ DataMember { System::String ^ get(); void set(System::String ^ value); };
public string DataMember { get; set; }
member this.DataMember : string with get, set
Public Property DataMember As String
Egenskapsvärde
Datamedlemmen som ska bindas till ett menyalternativ. Standardvärdet är en tom sträng (") som anger att den här egenskapen inte har angetts.
Exempel
I följande kodexempel visas hur du använder DataMember egenskapen för att ange vilket XML-element som ska bindas till menyobjekten i en Menu kontroll. För att det här exemplet ska fungera korrekt måste du kopiera XML-exempeldata nedan till en fil med namnet MenuDataMember.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 DataMember Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>MenuItemBinding DataMember Example</h3>
<asp:menu id="NavigationMenu"
datasourceid="MenuSource"
runat="server">
<databindings>
<asp:menuitembinding datamember="MapNodeHome"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_self" />
<asp:menuitembinding datamember="MapNodeCategory"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_blank"/>
<asp:menuitembinding datamember="MapNodeSection"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_blank"/>
</databindings>
</asp:menu>
<asp:xmldatasource id="MenuSource"
datafile="MenuDataMember.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 DataMember Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>MenuItemBinding DataMember Example</h3>
<asp:menu id="NavigationMenu"
datasourceid="MenuSource"
runat="server">
<databindings>
<asp:menuitembinding datamember="MapNodeHome"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_self" />
<asp:menuitembinding datamember="MapNodeCategory"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_blank"/>
<asp:menuitembinding datamember="MapNodeSection"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_blank"/>
</databindings>
</asp:menu>
<asp:xmldatasource id="MenuSource"
datafile="MenuDataMember.xml"
runat="server"/>
</form>
</body>
</html>
Följande kod är exempel på webbplatsöversiktsdata för föregående exempel.
<MapNodeHome ImageUrl="~\Images\Home.gif"
Title="Home"
Description="Root Page"
ToolTip="Home Page">
<MapNodeCategory ImageUrl="~\Images\Music.gif"
Title="Music"
Description="Music Category"
ToolTip="Music Page">
<MapNodeSection ImageUrl="~\Images\Classical.gif"
Title="Classical"
Description="Classical Section"
ToolTip="Classical Page"/>
<MapNodeSection ImageUrl="~\Images\Rock.gif"
Title="Rock"
Description="Rock Section"
ToolTip="Rock Page"/>
<MapNodeSection ImageUrl="~\Images\Jazz.gif"
Title="Jazz"
Description="Jazz Section"
ToolTip="Jazz Page"/>
</MapNodeCategory>
<MapNodeCategory ImageUrl="~\Images\Movies.gif"
Title="Movies"
Description="Movies Category"
ToolTip="Movies Page">
<MapNodeSection ImageUrl="~\Images\Action.gif"
Title="Action"
Description="Action Section"
ToolTip="Action Page"/>
<MapNodeSection ImageUrl="~\Images\Drama.gif"
Title="Drama"
Description="Drama Section"
ToolTip="Drama Page"/>
<MapNodeSection ImageUrl="~\Images\Musical.gif"
Title="Musical"
Description="Musical Section"
ToolTip="Musical Page"/>
</MapNodeCategory>
</MapNodeHome>
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.
När datakällan innehåller flera element eller tabeller använder du DataMember egenskapen för att ange elementet eller tabellen för att binda till ett menyalternativ. En datamedlem anger typen av dataobjekt i den underliggande datakällan, men kan representera olika information beroende på datakällan. Varje dataobjekt i en hierarkisk datakälla (representeras av ett System.Web.UI.IHierarchyData objekt) exponerar en IHierarchyData.Type egenskap som anger typen av dataobjekt. Datamedlemmen för ett XML-element anger till exempel namnet på elementet. Följande MenuItemBinding deklaration binder elementen i <Book> en XmlDataSource kontroll till alla menyalternativ i menyn, oavsett plats i hierarkin:
<asp:MenuItemBinding DataMember="Book" TextField="Title" ValueField= "ISBN">
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 menyobjektsbindning definieras utan djup eller 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å.