Sdílet prostřednictvím


MenuItemBinding Třída

Definice

Definuje relaci mezi datovou položkou a položkou nabídky, se kterou je v ovládacím Menu prvku vázána. Tuto třídu nelze zdědit.

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
Dědičnost
MenuItemBinding
Implementuje

Příklady

Následující příklad kódu ukazuje, jak pomocí MenuItemBinding objektů definovat vztah mezi poli XmlDataSource ovládacího prvku a položky nabídky v ovládacím Menu prvku. Aby tento příklad fungoval správně, musíte zkopírovat ukázková data XML níže do souboru s názvem 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>

Následující kód představuje ukázková data mapy webu pro předchozí příklad.

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

Poznámky

Menu Pokud je ovládací prvek vázán na zdroj dat, kde každá datová položka obsahuje více polí (například xml element s několika atributy), pokud nejsou definovány žádné vazby položek nabídky, položka nabídky zobrazí hodnotu vrácenou metodou ToString() datové položky ve výchozím nastavení. V případě elementu XML položka nabídky zobrazí název elementu, který zobrazuje základní strukturu nabídky, ale není velmi užitečné jinak. Vlastnosti položky nabídky můžete svázat s určitým polem zadáním vazeb položek nabídky. Objekt MenuItemBinding definuje vztah mezi každou datovou položkou a položkou nabídky, se kterou je vázán.

Poznámka:

Menu Pokud je ovládací prvek vázán na SiteMapDataSource ovládací prvek, vazby položek nabídky nemají žádný vliv. Vazba se provádí automaticky pomocí zprostředkovatele mapy webu.

Ovládací Menu prvek ukládá své MenuItemBinding objekty do DataBindings vlastnosti a použije vazby na zdroj dat k vytvoření relace 1:1 mezi hierarchií nabídek a hierarchií zdroje dat. Pro každou položku dat ve zdroji Menu dat se ovládací prvek pokusí spárovat datovou položku s objektem MenuItemBinding , aby vytvořil odpovídající MenuItem objekt.

Při vytváření objektu MenuItemBinding je nutné zadat kritéria pro vazbu. Kritéria označují, kdy má být datová položka vázána na položku nabídky. Můžete zadat Depth, , DataMembernebo obojí.

Hloubka položky nabídky určuje úroveň nabídky, která se sváže. Například následující MenuItemBinding deklarace sváže pole Název a ID zdroje dat s Text vlastnostmi a Value vlastnostmi všech uzlů s hloubkou 0:

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

Datový člen určuje typ datové položky v podkladovém zdroji dat, ale může představovat různé informace v závislosti na zdroji dat. Každá datová položka v hierarchickém zdroji dat (reprezentovaná objektem IHierarchyData ) zveřejňuje Type vlastnost, která určuje typ datové položky. Například datový člen pro element XML určuje název elementu. Pokud zdroj dat obsahuje více typů datových položek, datový člen určuje, který datový typ položky se má použít. Následující MenuItemBinding deklarace sváže <Book> prvky XmlDataSource ovládacího prvku se všemi položkami nabídky v nabídce bez ohledu na umístění v hierarchii:

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

Někdy může být potřeba vytvořit vazbu položky nabídky, která určuje hloubku i datový člen. To se často používá, když zdroj dat obsahuje položky na různých úrovních, které mají stejnou hodnotu datového členu. Můžete <Item> mít například prvky, které se v souboru XML zobrazují na různých úrovních. Následující MenuItemBinding deklarace ukazují, jak určit vazby položek nabídky, které se vztahují na identické datové členy v různých hloubkách nabídky:

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

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

Pokud je vazba položky nabídky definována bez hloubky a datového členu, použije se vazba položky nabídky na všechny položky nabídky v nabídce. To se běžně používá, když všechny datové položky mají stejné vlastnosti a měly by se zobrazit identicky bez ohledu na hloubku nabídky.

Po vytvoření vazebních kritérií můžete vytvořit vazbu vlastnosti objektu MenuItem , který může být vázán na hodnotu. Můžete vytvořit vazbu na pole datové položky nebo na statickou hodnotu. Při vazbě na statickou hodnotu sdílejí všechny MenuItem objekty, na které MenuItemBinding je objekt použit, stejnou hodnotu. Vlastnosti vázané na pole obsahují hodnoty odpovídajícího pole ze zdroje dat.

Poznámka:

Vázané vlastnosti v objektu MenuItem můžete selektivně přepsat nastavením odpovídající vlastnosti přímo.

Následující tabulka uvádí vlastnosti MenuItemBinding třídy, které umožňují svázat vlastnost MenuItem objektu s polem datové položky.

Vlastnictví Description
ImageUrlField Pole, které se má svázat s ImageUrl vlastností objektu MenuItem .
NavigateUrlField Pole, které se má svázat s NavigateUrl vlastností objektu MenuItem .
TextField Pole, které se má svázat s Text vlastností objektu MenuItem .
ToolTipField Pole, které se má svázat s ToolTip vlastností objektu MenuItem .
ValueField Pole, které se má svázat s Value vlastností objektu MenuItem .

Následující tabulka uvádí vlastnosti MenuItemBinding třídy, které umožňují vytvořit vazbu vlastnosti objektu MenuItem na statickou hodnotu.

Vlastnictví Description
ImageUrl Statická hodnota, která se má svázat s ImageUrl vlastností objektu MenuItem .
NavigateUrl Statická hodnota, která se má svázat s NavigateUrl vlastností objektu MenuItem .
Target Statická hodnota, která se má svázat s Target vlastností objektu MenuItem .
Text Statická hodnota, která se má svázat s Text vlastností objektu MenuItem .
ToolTip Statická hodnota, která se má svázat s ToolTip vlastností objektu MenuItem .
Value Statická hodnota, která se má svázat s Value vlastností objektu MenuItem .

Pokud jsou definovány konfliktní MenuItemBinding objekty, Menu ovládací prvek použije vazby položek nabídky v následujícím pořadí priorit:

  1. Objekt MenuItemBinding , který definuje a odpovídá hloubkové i datovému členu.

  2. Objekt MenuItemBinding , který definuje a odpovídá pouze datovému členu.

  3. Objekt MenuItemBinding , který definuje a odpovídá pouze hloubkě.

  4. Objekt MenuItemBinding , který definuje hloubku ani datový člen. (Tento typ vazby položky nabídky se použije u všech položek nabídky v nabídce.)

  5. Objekt MenuItemBinding , který nemá shodu ve zdroji dat. V tomto případě je hodnota vrácená metodou ToString() datové položky vázána na Text a Value vlastnosti položek nabídky, na které MenuItemBinding je objekt použit.

Třída MenuItemBinding také umožňuje formátovat text zobrazený v položce nabídky nastavením FormatString vlastnosti.

Konstruktory

Name Description
MenuItemBinding()

Inicializuje novou instanci MenuItemBinding třídy.

Vlastnosti

Name Description
DataMember

Získá nebo nastaví datový člen pro vazbu k položce nabídky.

Depth

Získá nebo nastaví hloubku nabídky, na kterou MenuItemBinding je objekt použit.

Enabled

Získá nebo nastaví hodnotu, která určuje, zda položka nabídky, na kterou MenuItemBinding je objekt použit, je povolena, což umožňuje položce zobrazit místní obrázek a všechny podřízené položky nabídky.

EnabledField

Získá nebo nastaví název pole ze zdroje dat vytvořit vazbu na Enabled vlastnost MenuItem objektu, na který MenuItemBinding je objekt použit.

FormatString

Získá nebo nastaví řetězec, který určuje formát zobrazení pro text položky nabídky, na kterou MenuItemBinding je objekt použit.

ImageUrl

Získá nebo nastaví adresu URL na obrázek, který se zobrazí vedle textu položky nabídky, na kterou MenuItemBinding je objekt použit.

ImageUrlField

Získá nebo nastaví název pole ze zdroje dat vytvořit vazbu na ImageUrl vlastnost MenuItem objektu, na který MenuItemBinding je objekt použit.

NavigateUrl

Získá nebo nastaví adresu URL odkaz na, pokud je položka nabídky, na kterou MenuItemBinding je objekt použit, klikne.

NavigateUrlField

Získá nebo nastaví název pole ze zdroje dat vytvořit vazbu na NavigateUrl vlastnost MenuItem objektu, na který MenuItemBinding je objekt použit.

PopOutImageUrl

Získá nebo nastaví adresu URL na obrázek, který označuje přítomnost dynamické podnabídky pro položku nabídky, na kterou MenuItemBinding je objekt použit.

PopOutImageUrlField

Získá nebo nastaví název pole ze zdroje dat vytvořit vazbu na PopOutImageUrl vlastnost MenuItem objektu, na který MenuItemBinding je objekt použit.

Selectable

Získá nebo nastaví hodnotu, která určuje, zda lze vybrat položku nabídky, na kterou MenuItemBinding je objekt použit, nebo je "kliknutelná".

SelectableField

Získá nebo nastaví název pole ze zdroje dat vytvořit vazbu na Selectable vlastnost MenuItem objektu, na který MenuItemBinding je objekt použit.

SeparatorImageUrl

Získá nebo nastaví adresu URL na obrázek zobrazený pod textem položky nabídky (pro oddělení od ostatních položek nabídky) pro položku nabídky, na kterou MenuItemBinding je objekt použit.

SeparatorImageUrlField

Získá nebo nastaví název pole ze zdroje dat vytvořit vazbu na SeparatorImageUrl vlastnost MenuItem objektu, na který MenuItemBinding je objekt použit.

Target

Získá nebo nastaví cílové okno nebo rámec, ve kterém se má zobrazit obsah webové stránky přidružené k položce nabídky, na kterou MenuItemBinding je objekt použit.

TargetField

Získá nebo nastaví název pole ze zdroje dat vytvořit vazbu na Target vlastnost MenuItem objektu, na který MenuItemBinding je objekt použit.

Text

Získá nebo nastaví text zobrazený pro položku nabídky, na kterou MenuItemBinding je objekt použit.

TextField

Získá nebo nastaví název pole ze zdroje dat vytvořit vazbu na Text vlastnost MenuItem objektu, na který MenuItemBinding je objekt použit.

ToolTip

Získá nebo nastaví text popisu pro položku nabídky, na kterou MenuItemBinding je objekt použit.

ToolTipField

Získá nebo nastaví název pole ze zdroje dat vytvořit vazbu na ToolTip vlastnost MenuItem objektu, na který MenuItemBinding je objekt použit.

Value

Získá nebo nastaví nerozpoznanou hodnotu použitou k uložení jakýchkoli dalších dat o položce nabídky, na kterou MenuItemBinding je objekt použit, například data použitá pro zpracování událostí postback.

ValueField

Získá nebo nastaví název pole ze zdroje dat vytvořit vazbu na Value vlastnost MenuItem objektu, na který MenuItemBinding je objekt použit.

Metody

Name Description
Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

Explicitní implementace rozhraní

Name Description
ICloneable.Clone()

Vytvoří kopii objektu MenuItemBinding .

IDataSourceViewSchemaAccessor.DataSourceViewSchema

Popis tohoto člena naleznete v tématu DataSourceViewSchema.

IStateManager.IsTrackingViewState

Získá hodnotu, která označuje, zda MenuItemBinding objekt ukládá změny do jeho stavu zobrazení.

IStateManager.LoadViewState(Object)

Načte dříve uložený stav zobrazení uzlu.

IStateManager.SaveViewState()

Uloží změny stavu zobrazení do objektu Object.

IStateManager.TrackViewState()

Dává objektu MenuItemBinding pokyn, aby sledoval změny jeho stavu zobrazení.

Platí pro

Viz také