MenuItemBinding Klass
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.
Definierar relationen mellan ett dataobjekt och menyalternativet som det binds till i en Menu kontroll. Det går inte att ärva den här klassen.
public ref class MenuItemBinding sealed : ICloneable, System::Web::UI::IDataSourceViewSchemaAccessor, System::Web::UI::IStateManager
public sealed class MenuItemBinding : ICloneable, System.Web.UI.IDataSourceViewSchemaAccessor, System.Web.UI.IStateManager
type MenuItemBinding = class
interface IStateManager
interface ICloneable
interface IDataSourceViewSchemaAccessor
Public NotInheritable Class MenuItemBinding
Implements ICloneable, IDataSourceViewSchemaAccessor, IStateManager
- Arv
-
MenuItemBinding
- Implementeringar
Exempel
Följande kodexempel visar hur du använder MenuItemBinding objekt för att definiera relationen mellan fälten i en XmlDataSource kontroll och menyalternativen 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 Menu.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 Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>MenuItemBinding Example</h3>
<asp:menu id="NavigationMenu"
datasourceid="MenuSource"
runat="server">
<DataBindings>
<asp:menuitembinding datamember="MapHomeNode"
formatstring="({0})"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_self" />
<asp:menuitembinding datamember="MapNode"
depth="1"
formatstring="[{0}]"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_blank"/>
<asp:menuitembinding datamember="MapNode"
depth="2"
formatstring="<{0}>"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_blank"/>
</DataBindings>
</asp:menu>
<asp:xmldatasource id="MenuSource"
datafile="Menu.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 Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>MenuItemBinding Example</h3>
<asp:menu id="NavigationMenu"
datasourceid="MenuSource"
runat="server">
<DataBindings>
<asp:menuitembinding datamember="MapHomeNode"
formatstring="({0})"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_self" />
<asp:menuitembinding datamember="MapNode"
depth="1"
formatstring="[{0}]"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_blank"/>
<asp:menuitembinding datamember="MapNode"
depth="2"
formatstring="<{0}>"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_blank"/>
</DataBindings>
</asp:menu>
<asp:xmldatasource id="MenuSource"
datafile="Menu.xml"
runat="server"/>
</form>
</body>
</html>
Följande kod är exempel på webbplatsöversiktsdata för föregående exempel.
<MapHomeNode 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>
</MapHomeNode>
Kommentarer
Menu När kontrollen är bunden till en datakälla där varje dataobjekt innehåller flera fält (till exempel ett XML-element med flera attribut), om inga menyobjektsbindningar har definierats, visar ett menyobjekt det värde som returneras av ToString() dataobjektets metod som standard. När det gäller ett XML-element visar menyalternativet elementnamnet, som visar menyns underliggande struktur, men som annars inte är särskilt användbart. Du kan binda egenskaperna för ett menyalternativ till ett visst fält genom att ange menyalternativbindningar. Ett MenuItemBinding objekt definierar relationen mellan varje dataobjekt och menyalternativet som det är bindning till.
Note
När kontrollen Menu är bunden till en SiteMapDataSource kontroll har menyobjektsbindningar ingen effekt. Bindningen utförs automatiskt med hjälp av webbplatsöversiktsprovidern.
Kontrollen Menu lagrar sina MenuItemBinding objekt i DataBindings egenskapen och tillämpar bindningarna på datakällan för att skapa en en-till-en-relation mellan menyhierarkin och datakällans hierarki. För varje dataobjekt i datakällan Menu försöker kontrollen matcha dataobjektet med ett MenuItemBinding objekt för att skapa motsvarande MenuItem objekt.
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 Depth, DataMembereller både och.
Ett menyalternativsdjup anger den menynivå som binds. Följande deklaration binder till exempel MenuItemBinding fälten Namn och ID för datakällan till Text egenskaperna och Value för alla noder med djupet 0:
<asp:MenuItemBinding Depth="0" TextField="Name" ValueField="ID">
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 IHierarchyData objekt) exponerar en Type egenskap som anger typen av dataobjekt. Datamedlemmen för ett XML-element anger till exempel namnet på elementet. När en datakälla innehåller flera typer av dataobjekt anger datamedlemmen vilken typ av dataobjekt som ska användas. 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 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 motsvarande fält från datakällan.
Note
Du kan selektivt åsidosätta en bunden egenskap i ett MenuItem objekt genom att ange motsvarande egenskap direkt.
I följande tabell visas egenskaperna för klassen MenuItemBinding som gör att du kan binda en egenskap för MenuItem objektet till ett fält i ett dataobjekt.
| Fastighet | Description |
|---|---|
| ImageUrlField | Fältet som ska bindas till ImageUrl egenskapen för ett MenuItem objekt. |
| NavigateUrlField | Fältet som ska bindas till NavigateUrl egenskapen för ett MenuItem objekt. |
| TextField | Fältet som ska bindas till Text egenskapen för ett MenuItem objekt. |
| ToolTipField | Fältet som ska bindas till ToolTip egenskapen för ett MenuItem objekt. |
| ValueField | Fältet som ska bindas till Value egenskapen för ett MenuItem objekt. |
I följande tabell visas egenskaperna för klassen MenuItemBinding som gör att du kan binda en egenskap för MenuItem objektet till ett statiskt värde.
| Fastighet | Description |
|---|---|
| ImageUrl | Det statiska värdet som ska bindas till ImageUrl egenskapen för ett MenuItem objekt. |
| NavigateUrl | Det statiska värdet som ska bindas till NavigateUrl egenskapen för ett MenuItem objekt. |
| Target | Det statiska värdet som ska bindas till Target egenskapen för ett MenuItem objekt. |
| Text | Det statiska värdet som ska bindas till Text egenskapen för ett MenuItem objekt. |
| ToolTip | Det statiska värdet som ska bindas till ToolTip egenskapen för ett MenuItem objekt. |
| Value | Det statiska värdet som ska bindas till Value egenskapen för ett MenuItem objekt. |
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å.
Med MenuItemBinding klassen kan du också formatera texten som visas i ett menyalternativ genom att ange egenskapen FormatString .
Konstruktorer
| Name | Description |
|---|---|
| MenuItemBinding() |
Initierar en ny instans av MenuItemBinding klassen. |
Egenskaper
| Name | Description |
|---|---|
| DataMember |
Hämtar eller anger att datamedlemmen ska binda till ett menyalternativ. |
| Depth |
Hämtar eller anger det menydjup som MenuItemBinding objektet används på. |
| Enabled |
Hämtar eller anger ett värde som anger om menyalternativet MenuItemBinding som objektet tillämpas på är aktiverat, så att objektet kan visa en popup-bild och eventuella underordnade menyobjekt. |
| EnabledField |
Hämtar eller anger namnet på fältet från datakällan för att binda till Enabled egenskapen för ett MenuItem objekt som MenuItemBinding objektet tillämpas på. |
| FormatString |
Hämtar eller anger strängen som anger visningsformatet för texten i ett menyobjekt som MenuItemBinding objektet används på. |
| ImageUrl |
Hämtar eller anger URL:en till en bild som visas bredvid texten i ett menyalternativ som MenuItemBinding objektet används på. |
| ImageUrlField |
Hämtar eller anger namnet på fältet från datakällan för att binda till ImageUrl egenskapen för ett MenuItem objekt som MenuItemBinding objektet tillämpas på. |
| NavigateUrl |
Hämtar eller anger url:en som ska länkas till när ett menyalternativ som MenuItemBinding objektet tillämpas på klickas på. |
| NavigateUrlField |
Hämtar eller anger namnet på fältet från datakällan för att binda till NavigateUrl egenskapen för ett MenuItem objekt som MenuItemBinding objektet tillämpas på. |
| PopOutImageUrl |
Hämtar eller anger URL:en till en bild som anger förekomsten av en dynamisk undermeny för ett menyalternativ som MenuItemBinding objektet tillämpas på. |
| PopOutImageUrlField |
Hämtar eller anger namnet på fältet från datakällan för att binda till PopOutImageUrl egenskapen för ett MenuItem objekt som MenuItemBinding objektet tillämpas på. |
| Selectable |
Hämtar eller anger ett värde som anger om menyalternativet MenuItemBinding som objektet tillämpas på kan väljas eller är "klickbart". |
| SelectableField |
Hämtar eller anger namnet på fältet från datakällan för att binda till Selectable egenskapen för ett MenuItem objekt som MenuItemBinding objektet tillämpas på. |
| SeparatorImageUrl |
Hämtar eller anger URL:en till en bild som visas under texten i ett menyalternativ (för att separera den från andra menyalternativ) för ett menyalternativ som MenuItemBinding objektet används på. |
| SeparatorImageUrlField |
Hämtar eller anger namnet på fältet från datakällan för att binda till SeparatorImageUrl egenskapen för ett MenuItem objekt som MenuItemBinding objektet tillämpas på. |
| Target |
Hämtar eller anger målfönstret eller ramen där webbsidans innehåll som är associerat med ett menyalternativ som MenuItemBinding objektet ska tillämpas på ska visas. |
| TargetField |
Hämtar eller anger namnet på fältet från datakällan för att binda till Target egenskapen för ett MenuItem objekt som MenuItemBinding objektet tillämpas på. |
| Text |
Hämtar eller anger den text som visas för menyalternativet som MenuItemBinding objektet tillämpas på. |
| TextField |
Hämtar eller anger namnet på fältet från datakällan för att binda till Text egenskapen för ett MenuItem objekt som MenuItemBinding objektet tillämpas på. |
| ToolTip |
Hämtar eller anger knappbeskrivningstexten för ett menyalternativ som MenuItemBinding objektet tillämpas på. |
| ToolTipField |
Hämtar eller anger namnet på fältet från datakällan för att binda till ToolTip egenskapen för ett MenuItem objekt som MenuItemBinding objektet tillämpas på. |
| Value |
Hämtar eller anger ett värde som inte visas och som används för att lagra ytterligare data om ett menyalternativ som MenuItemBinding objektet tillämpas på, till exempel data som används för hantering av efteråterställningshändelser. |
| ValueField |
Hämtar eller anger namnet på fältet från datakällan för att binda till Value egenskapen för ett MenuItem objekt som MenuItemBinding objektet tillämpas på. |
Metoder
| Name | Description |
|---|---|
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. |
Explicita gränssnittsimplementeringar
| Name | Description |
|---|---|
| ICloneable.Clone() |
Skapar en kopia av MenuItemBinding objektet. |
| IDataSourceViewSchemaAccessor.DataSourceViewSchema |
En beskrivning av den här medlemmen finns i DataSourceViewSchema. |
| IStateManager.IsTrackingViewState |
Hämtar ett värde som anger om MenuItemBinding objektet sparar ändringar i visningstillståndet. |
| IStateManager.LoadViewState(Object) |
Läser in nodens tidigare sparade vytillstånd. |
| IStateManager.SaveViewState() |
Sparar visningstillståndet ändringar i en Object. |
| IStateManager.TrackViewState() |
Instruerar objektet MenuItemBinding att spåra ändringar i dess visningstillstånd. |
Gäller för
Se även
- Menu
- MenuItem
- MenuItemBindingCollection
- AccessDataSource
- ObjectDataSource
- SiteMapDataSource
- SqlDataSource
- XmlDataSource
- DataBindings
- DataMember
- Depth
- FormatString
- ImageUrl
- ImageUrl
- ImageUrlField
- NavigateUrl
- NavigateUrl
- NavigateUrlField
- Target
- Text
- Text
- TextField
- ToolTip
- ToolTip
- ToolTipField
- Value
- ValueField