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 prvku vázána Menu . 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 použít MenuItemBinding objekty k definování vztahu 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 je 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í moc užitečný jinak. Vlastnosti položky nabídky můžete svázat s konkrétním polem zadáním vazeb položek nabídky. Objekt MenuItemBinding definuje relaci mezi jednotlivými datovými položkami a položkou nabídky, se kterou je vázána.

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. U každé datové položky ve zdroji Menu dat se ovládací prvek pokusí shodovat 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, nebo DataMemberobojí.

Hloubka položky nabídky určuje úroveň nabídky, která je vázána. 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 elementu XML určuje název elementu. Pokud zdroj dat obsahuje více typů datových položek, určuje datový člen, 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. Často se 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. Tato možnost se běžně používá, pokud mají všechny datové položky stejné vlastnosti a měly by se zobrazovat identicky bez ohledu na hloubku nabídky.

Po vytvoření kritérií vazby 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í vytvořit vazbu vlastnosti objektu MenuItem na pole datové položky.

Vlastnost Popis
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.

Vlastnost Popis
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í priority:

  1. Objekt MenuItemBinding , který definuje a odpovídá hloubkě 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 pro všechny položky 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 vlastnosti Value 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

MenuItemBinding()

Inicializuje novou instanci MenuItemBinding třídy.

Vlastnosti

DataMember

Získá nebo nastaví datový člen vytvořit 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á označuje, zda je položka nabídky, na kterou MenuItemBinding je objekt použit, 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 se objekt použije.

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 se objekt použije.

ImageUrlField

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

NavigateUrl

Získá nebo nastaví adresu URL tak, aby odkaz na položku nabídky, na kterou MenuItemBinding je objekt použit, je kliknul.

NavigateUrlField

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

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 se objekt použije.

Selectable

Získá nebo nastaví hodnotu, která označuje, zda je položka 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 se objekt použije.

SeparatorImageUrl

Získá nebo nastaví adresu URL obrázku zobrazenému pod textem položky nabídky (pokud ji chcete oddělit od ostatních položek nabídky) pro položku nabídky, na kterou MenuItemBinding se objekt použije.

SeparatorImageUrlField

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

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 se objekt použije.

Value

Získá nebo nastaví nedisplayed hodnotu použitou k uložení všech 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í zpětného odeslání.

ValueField

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

Metody

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

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

Slouží jako výchozí funkce hash.

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

Type Získá aktuální instanci.

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

Vytvoří použádnou kopii aktuálního souboru Object.

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

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

Explicitní implementace rozhraní

ICloneable.Clone()

Vytvoří kopii objektu MenuItemBinding .

IDataSourceViewSchemaAccessor.DataSourceViewSchema

Popis tohoto člena najdete v tématu DataSourceViewSchema.

IStateManager.IsTrackingViewState

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

IStateManager.LoadViewState(Object)

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

IStateManager.SaveViewState()

Uloží změny stavu zobrazení na .Object

IStateManager.TrackViewState()

Dává objektu MenuItemBinding pokyn ke sledování změn ve stavu zobrazení.

Platí pro

Viz také