MenuItemBinding Klass

Definition

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:

  1. Objektet MenuItemBinding som definierar och matchar både ett djup och en datamedlem.

  2. Objektet MenuItemBinding som endast definierar och matchar datamedlemmen.

  3. Objektet MenuItemBinding som definierar och matchar endast djupet.

  4. Objektet MenuItemBinding som varken definierar djupet eller datamedlemmen. (Den här typen av menyobjektsbindning tillämpas på alla menyalternativ i menyn.)

  5. 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