MenuItemBinding Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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:
Objekt MenuItemBinding , který definuje a odpovídá hloubkě i datovému členu.
Objekt MenuItemBinding , který definuje a odpovídá pouze datovému členu.
Objekt MenuItemBinding , který definuje a odpovídá pouze hloubkě.
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.)
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é
- 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