Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

MenuItemBinding-Klasse

Definiert die Beziehung zwischen einem Datenelement und dem Menüelement, mit dem es in einem Menu-Steuerelement eine Bindung herstellt. Diese Klasse kann nicht vererbt werden.

System.Object
  System.Web.UI.WebControls.MenuItemBinding

Namespace:  System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)
public sealed class MenuItemBinding : IStateManager, 
	ICloneable, IDataSourceViewSchemaAccessor

Der MenuItemBinding-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche MethodeMenuItemBindingInitialisiert eine neue Instanz der MenuItemBinding-Klasse.
Zum Seitenanfang
  NameBeschreibung
Öffentliche EigenschaftDataMemberRuft den Datenmember ab, der an ein Menüelement gebunden werden soll, oder legt diesen fest.
Öffentliche EigenschaftDepthRuft die Menütiefe ab, auf die das MenuItemBinding-Objekt angewendet wird, oder legt diese fest.
Öffentliche EigenschaftEnabledRuft einen Wert ab, der angibt, ob das Menüelement aktiviert ist, für das das MenuItemBinding-Objekt übernommen wird, sodass das Element ein Popoutbild sowie vorhandene untergeordnete Menüelemente anzeigen kann, oder legt diesen fest.
Öffentliche EigenschaftEnabledFieldRuft den Namen des Felds aus der Datenquelle ab, das an die Enabled-Eigenschaft eines MenuItem-Objekts gebunden werden soll, für das das MenuItemBinding-Objekt übernommen wird, oder legt diesen fest.
Öffentliche EigenschaftFormatStringRuft die Zeichenfolge ab, mit der das Anzeigeformat für den Text eines Menüelements angegeben wird, für das das MenuItemBinding-Objekt übernommen wird, oder legt diese fest.
Öffentliche EigenschaftImageUrlRuft die URL für ein Bild ab, das neben dem Text eines Menüelements angezeigt wird, für das das MenuItemBinding-Objekt übernommen wird, oder legt diese fest.
Öffentliche EigenschaftImageUrlFieldRuft den Namen des Felds aus der Datenquelle ab, das an die ImageUrl-Eigenschaft eines MenuItem-Objekts gebunden werden soll, für das das MenuItemBinding-Objekt übernommen wird, oder legt diesen fest.
Öffentliche EigenschaftNavigateUrlRuft die URL ab, zu der ein Link hergestellt werden soll, wenn auf ein Menüelement geklickt wird, für das das MenuItemBinding-Objekt übernommen wird, oder legt diese fest.
Öffentliche EigenschaftNavigateUrlFieldRuft den Namen des Felds aus der Datenquelle ab, das an die NavigateUrl-Eigenschaft eines MenuItem-Objekts gebunden werden soll, für das das MenuItemBinding-Objekt übernommen wird, oder legt diesen fest.
Öffentliche EigenschaftPopOutImageUrlRuft die URL für ein Bild ab, das das Vorhandensein eines dynamischen Untermenüs für ein Menüelement anzeigt, für das das MenuItemBinding-Objekt übernommen wird, oder legt diese fest.
Öffentliche EigenschaftPopOutImageUrlFieldRuft den Namen des Felds aus der Datenquelle ab, das an die PopOutImageUrl-Eigenschaft eines MenuItem-Objekts gebunden werden soll, für das das MenuItemBinding-Objekt übernommen wird, oder legt diesen fest.
Öffentliche EigenschaftSelectableRuft einen Wert ab, der angibt, ob das Menüelement, für das das MenuItemBinding-Objekt übernommen wird, ausgewählt werden kann oder ob darauf geklickt werden kann, oder legt diesen Wert fest.
Öffentliche EigenschaftSelectableFieldRuft den Namen des Felds aus der Datenquelle ab, das an die Selectable-Eigenschaft eines MenuItem-Objekts gebunden werden soll, für das das MenuItemBinding-Objekt übernommen wird, oder legt diesen fest.
Öffentliche EigenschaftSeparatorImageUrlRuft für ein Menüelement, für das das MenuItemBinding-Objekt übernommen wird, die URL eines Bilds ab, das unterhalb des Texts eines Menüelements angezeigt wird (damit es von anderen Menüelementen getrennt wird), oder legt diese URL fest.
Öffentliche EigenschaftSeparatorImageUrlFieldRuft den Namen des Felds aus der Datenquelle ab, das an die SeparatorImageUrl-Eigenschaft eines MenuItem-Objekts gebunden werden soll, für das das MenuItemBinding-Objekt übernommen wird, oder legt diesen fest.
Öffentliche EigenschaftTargetRuft das Zielfenster oder den Zielframe ab, in dem die Webseiteninhalte angezeigt werden sollen, die einem Menüeelement zugeordnet sind, für das das MenuItemBinding-Objekt übernommen wird, oder legt dieses bzw. diesen fest.
Öffentliche EigenschaftTargetFieldRuft den Namen des Felds aus der Datenquelle ab, das an die Target-Eigenschaft eines MenuItem-Objekts gebunden werden soll, für das das MenuItemBinding-Objekt übernommen wird, oder legt diesen fest.
Öffentliche EigenschaftTextRuft den Text ab, der für das Menüelement angezeigt wird, für das das MenuItemBinding-Objekt übernommen wird, oder legt diesen fest.
Öffentliche EigenschaftTextFieldRuft den Namen des Felds aus der Datenquelle ab, das an die Text-Eigenschaft eines MenuItem-Objekts gebunden werden soll, für das das MenuItemBinding-Objekt übernommen wird, oder legt diesen fest.
Öffentliche EigenschaftToolTipRuft den QuickInfo-Text für ein Menüelement ab, für das das MenuItemBinding-Objekt übernommen wird, oder legt diesen fest.
Öffentliche EigenschaftToolTipFieldRuft den Namen des Felds aus der Datenquelle ab, das an die ToolTip-Eigenschaft eines MenuItem-Objekts gebunden werden soll, für das das MenuItemBinding-Objekt übernommen wird, oder legt diesen fest.
Öffentliche EigenschaftValueRuft einen nicht angezeigten Wert ab, mit dem zusätzliche Daten zu einem Menüelement gespeichert werden, für das das MenuItemBinding-Objekt übernommen wird (z. B. Daten zum Behandeln eines Postbackereignisses), oder legt diesen fest.
Öffentliche EigenschaftValueFieldRuft den Namen des Felds aus der Datenquelle ab, das an die Value-Eigenschaft eines MenuItem-Objekts gebunden werden soll, für das das MenuItemBinding-Objekt übernommen wird, oder legt diesen fest.
Zum Seitenanfang
  NameBeschreibung
Öffentliche MethodeEquals(Object)Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)
Öffentliche MethodeGetHashCodeFungiert als Hashfunktion für einen bestimmten Typ. (Von Object geerbt.)
Öffentliche MethodeGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche MethodeToStringGibt eine Zeichenfolge zurück, die das MenuItemBinding-Objekt darstellt. (Überschreibt Object.ToString().)
Zum Seitenanfang
  NameBeschreibung
Explizite SchnittstellenimplementierungPrivate MethodeICloneable.CloneInfrastruktur. Erstellt eine Kopie des MenuItemBinding-Objekts.
Explizite SchnittstellenimplementierungPrivate EigenschaftIDataSourceViewSchemaAccessor.DataSourceViewSchemaEine Beschreibung dieses Members finden Sie unter DataSourceViewSchema.
Explizite SchnittstellenimplementierungPrivate EigenschaftIStateManager.IsTrackingViewStateInfrastruktur. Ruft einen Wert ab, der angibt, ob das MenuItemBinding-Objekt Änderungen des Ansichtszustands speichert.
Explizite SchnittstellenimplementierungPrivate MethodeIStateManager.LoadViewStateLädt den zuvor gespeicherten Ansichtszustand des Knotens.
Explizite SchnittstellenimplementierungPrivate MethodeIStateManager.SaveViewStateInfrastruktur. Speichert die Änderungen am Ansichtszustand in einem Object.
Explizite SchnittstellenimplementierungPrivate MethodeIStateManager.TrackViewStateInfrastruktur. Weist das MenuItemBinding-Objekt an, Änderungen am Ansichtszustand nachzuverfolgen.
Zum Seitenanfang

Wenn das Menu-Steuerelement an eine Datenquelle gebunden wird, in der jedes Datenelement mehrere Felder enthält (so z. B. ein XML-Element mit mehreren Attributen), wird der von der ToString()-Methode des Datenelements zurückgegebene Wert standardmäßig von einem Menüelement angezeigt, sofern keine Menüelementbindungen definiert sind. Bei einem XML-Element zeigt das Menüelement den Elementnamen an, der zwar die zugrunde liegende Struktur des Menüs angibt, darüber hinaus jedoch keine hilfreichen Informationen enthält. Sie können die Eigenschaften eines Menüelements an ein bestimmtes Feld binden, indem Sie die Menüelementbindungen angeben. Ein MenuItemBinding-Objekt definiert die Beziehung zwischen jedem Datenelement und dem Menüelement, an das es gebunden werden soll.

HinweisHinweis

Wenn das Menu-Steuerelement an ein SiteMapDataSource-Steuerelement gebunden wird, haben Menüelementbindungen keine Auswirkungen. Die Bindung wird automatisch mithilfe des Siteübersichtsanbieters ausgeführt.

Das Menu-Steuerelement speichert seine MenuItemBinding-Objekte in der DataBindings-Eigenschaft und wendet die Bindungen auf die Datenquelle an, um eine 1:1-Beziehung zwischen der Menühierarchie und der Datenquellenhierarchie zu erstellen. Für jedes Datenelement in der Datenquelle versucht das Menu-Steuerelement, das Datenelement einem MenuItemBinding-Objekt zuzuordnen, um das entsprechende MenuItem-Objekt zu erstellen.

Wenn Sie ein MenuItemBinding-Objekt erstellen, müssen Sie die Kriterien für die Bindung angeben. Die Kriterien geben an, wenn ein Datenelement an ein Menüelement gebunden werden sollte. Sie können Depth und/oder DataMember.

Mit der Menüelementtiefe wird die Menüebene angegeben, die gebunden wird. Beispielsweise werden in der folgenden MenuItemBinding-Deklaration das Feld "Name" und das Feld "ID" der Datenquelle an die Text-Eigenschaft bzw. die Value-Eigenschaft aller Knoten mit der Ebene 0 (null) gebunden:

<asp:MenuItemBinding Depth="0" TextField="Name" ValueField="ID">

Ein Datenmember gibt den Typ des Datenelements in der zugrunde liegenden Datenquelle an, kann je nach Datenquelle jedoch auch andere Informationen darstellen. Jedes Datenelement in einer hierarchischen Datenquelle (durch ein IHierarchyData-Objekt dargestellt) macht eine Type-Eigenschaft verfügbar, die den Typ des Datenelements angibt. Beispielsweise gibt der Datenmember für ein XML-Element den Namen des Elements an. Wenn eine Datenquelle mehrere Datenelementtypen enthält, gibt der Datenmember an, welcher Datenelementtyp verwendet werden soll. Die folgende MenuItemBinding-Deklaration bindet die <Book>-Elemente eines XmlDataSource-Steuerelements an alle Menüelemente im Menü, unabhängig von der Position in der Hierarchie:

<asp:MenuItemBinding DataMember="Book" TextField="Title" ValueField= "ISBN">

Unter Umständen müssen Sie gelegentlich eine Menüelementbindung erstellen, die sowohl eine Tiefe als auch einen Datenmember angibt. Dies empfiehlt sich häufig, wenn die Datenquelle auf unterschiedlichen Ebenen Elemente enthält, die denselben Datenmemberwert besitzen. Beispielsweise können <Item>-Elemente auf unterschiedlichen Ebenen innerhalb einer XML-Datei vorhanden sein. Mit den folgenden MenuItemBinding-Deklarationen wird veranschaulicht, wie Menüelementbindungen angegeben werden, die auf identische Datenmember in unterschiedlichen Menütiefen angewendet werden:

<asp:MenuItemBinding DataMember="Item" Depth="1" TextField="Title">

<asp:MenuItemBinding DataMember="Item" Depth="2" TextField="ISBN">

Wenn eine Menüelementbindung ohne Tiefe und Datenmember definiert wird, wird die Menüelementbindung auf alle Menüelemente im Menü angewendet. Dieser Vorgang wird meist ausgeführt, wenn alle Datenelemente dieselben Eigenschaften besitzen und ungeachtet der Menütiefe als identisch angezeigt werden sollen.

Nachdem die Bindungskriterien festgestellt wurden, können Sie eine Bindung für eine Eigenschaft eines MenuItem-Objekts herstellen, das an einen Wert gebunden sein kann. Sie können eine Bindung mit einem Feld eines Datenelements oder mit einem statischen Wert herstellen. Bei der Bindung an einen statischen Wert weisen alle MenuItem-Objekte, für die das MenuItemBinding-Objekt übernommen wird, denselben Wert auf. Eigenschaften, die an Felder gebunden sind, enthalten die Werte des entsprechenden Felds aus der Datenquelle.

HinweisHinweis

Sie können eine gebundene Eigenschaft in einem MenuItem-Objekt selektiv überschreiben, indem Sie die entsprechende Eigenschaft direkt festlegen.

In der folgenden Tabelle werden die Eigenschaften der MenuItemBinding-Klasse aufgelistet, mit denen Sie eine Eigenschaft des MenuItem-Objekts an ein Feld eines Datenelements binden können.

Property

Beschreibung

ImageUrlField

Das Feld, das an die ImageUrl-Eigenschaft eines MenuItem-Objekts gebunden werden soll.

NavigateUrlField

Das Feld, das an die NavigateUrl-Eigenschaft eines MenuItem-Objekts gebunden werden soll.

TextField

Das Feld, das an die Text-Eigenschaft eines MenuItem-Objekts gebunden werden soll.

ToolTipField

Das Feld, das an die ToolTip-Eigenschaft eines MenuItem-Objekts gebunden werden soll.

ValueField

Das Feld, das an die Value-Eigenschaft eines MenuItem-Objekts gebunden werden soll.

In der folgenden Tabelle werden die Eigenschaften der MenuItemBinding-Klasse aufgelistet, mit denen Sie eine Eigenschaft des MenuItem-Objekts an einen statischen Wert binden können.

Property

Beschreibung

ImageUrl

Der statische Wert, der an die ImageUrl-Eigenschaft eines MenuItem-Objekts gebunden werden soll.

NavigateUrl

Der statische Wert, der an die NavigateUrl-Eigenschaft eines MenuItem-Objekts gebunden werden soll.

Target

Der statische Wert, der an die Target-Eigenschaft eines MenuItem-Objekts gebunden werden soll.

Text

Der statische Wert, der an die Text-Eigenschaft eines MenuItem-Objekts gebunden werden soll.

ToolTip

Der statische Wert, der an die ToolTip-Eigenschaft eines MenuItem-Objekts gebunden werden soll.

Value

Der statische Wert, der an die Value-Eigenschaft eines MenuItem-Objekts gebunden werden soll.

Wenn in Konflikt stehende MenuItemBinding-Objekte definiert werden, werden die Menüelementbindungen vom Menu-Steuerelement entsprechend der folgenden Rangfolge angewendet:

  1. Das MenuItemBinding-Objekt, das sowohl die Tiefe als auch einen Datenmember definiert und zuordnet.

  2. Das MenuItemBinding-Objekt, das nur den Datenmember definiert und zuordnet.

  3. Das MenuItemBinding-Objekt, das nur die Tiefe definiert und zuordnet.

  4. Das MenuItemBinding-Objekt, das weder die Tiefe noch den Datenmember definiert. (Dieser Typ der Menüelementbindung wird auf alle Menüelemente im Menü angewendet.)

  5. Das MenuItemBinding-Objekt, für das keine Entsprechung in der Datenquelle vorhanden ist. In diesem Fall wird der von der ToString()-Methode des Datenelements zurückgegebene Wert an die Text-Eigenschaft und die Value-Eigenschaft der Menüelemente gebunden, für die das MenuItemBinding-Objekt übernommen wird.

Mithilfe der MenuItemBinding-Klasse können Sie außerdem den in einem Menüelement angezeigten Text formatieren, indem Sie die FormatString-Eigenschaft festlegen.

TopicLocation
Exemplarische Vorgehensweise: Programmgesteuertes Kontrollieren von ASP.NET-MenüsErstellen von ASP.NET-Webanwendungen in Visual Studio
Exemplarische Vorgehensweise: Anzeigen eines Menüs auf WebseitenErstellen von ASP.NET-Webanwendungen in Visual Studio
Exemplarische Vorgehensweise: Anzeigen eines Menüs auf WebseitenErstellen von Anwendungen mit Visual Web Developer
Exemplarische Vorgehensweise: Programmgesteuertes Kontrollieren von ASP.NET-MenüsErstellen von ASP.NET-Webanwendungen in Visual Studio

Im folgenden Codebeispiel wird veranschaulicht, wie mithilfe der MenuItemBinding-Objekte die Beziehung zwischen den Feldern eines XmlDataSource-Steuerelements und den Menüelementen in einem Menu-Steuerelement definiert wird. Damit dieses Beispiel wie vorgesehen funktioniert, müssen Sie die nachfolgenden XML-Beispieldaten in die Datei Menu.xml kopieren.



<%@ 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>



Im folgenden Code finden Sie ein Beispiel für die Siteübersichtsdaten für das vorherige Beispiel.

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

.NET Framework

Unterstützt in: 4.5, 4, 3.5, 3.0, 2.0

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)

Community-Beiträge

HINZUFÜGEN
© 2013 Microsoft. Alle Rechte vorbehalten.