Menu.DataBindings Vlastnost
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í.
Získá kolekci MenuItemBinding objektů, které definují vztah mezi datovou položkou a položkou nabídky, se kterou je vázána.
public:
property System::Web::UI::WebControls::MenuItemBindingCollection ^ DataBindings { System::Web::UI::WebControls::MenuItemBindingCollection ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.MenuItemBindingCollection DataBindings { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.DataBindings : System.Web.UI.WebControls.MenuItemBindingCollection
Public ReadOnly Property DataBindings As MenuItemBindingCollection
Hodnota vlastnosti
A MenuItemBindingCollection , který představuje relaci mezi datovou položkou a položkou nabídky, se kterou je vázána.
- Atributy
Příklady
Následující příklad kódu ukazuje, jak pomocí DataBindings kolekce 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 Map.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>Menu DataBindings Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>Menu DataBindings Example</h3>
<asp:menu id="NavigationMenu"
staticdisplaylevels="1"
staticsubmenuindent="10"
orientation="Vertical"
target="_blank"
datasourceid="MenuSource"
runat="server">
<DataBindings>
<asp:menuitembinding datamember="MapHomeNode"
depth="0"
textfield="title"
navigateurlfield="url"/>
<asp:menuitembinding datamember="MapNode"
depth="1"
textfield="title"
navigateurlfield="url"/>
<asp:menuitembinding datamember="MapNode"
depth="2"
textfield="title"
navigateurlfield="url"/>
</DataBindings>
</asp:menu>
<asp:XmlDataSource id="MenuSource"
datafile="Map.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>Menu DataBindings Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>Menu DataBindings Example</h3>
<asp:menu id="NavigationMenu"
staticdisplaylevels="1"
staticsubmenuindent="10"
orientation="Vertical"
target="_blank"
datasourceid="MenuSource"
runat="server">
<DataBindings>
<asp:menuitembinding datamember="MapHomeNode"
depth="0"
textfield="title"
navigateurlfield="url"/>
<asp:menuitembinding datamember="MapNode"
depth="1"
textfield="title"
navigateurlfield="url"/>
<asp:menuitembinding datamember="MapNode"
depth="2"
textfield="title"
navigateurlfield="url"/>
</DataBindings>
</asp:menu>
<asp:XmlDataSource id="MenuSource"
datafile="Map.xml"
runat="server"/>
</form>
</body>
</html>
Následuje ukázka dat mapy webu pro předchozí příklad.
<MapHomeNode url="~\Home.aspx"
title="Home"
description="Home">
<MapNode url="~\Music.aspx"
title="Music"
description="Music">
<MapNode url="~\Classical.aspx"
title="Classical"
description="Classical"/>
<MapNode url="~\Rock.aspx"
title="Rock"
description="Rock"/>
<MapNode url="~\Jazz.aspx"
title="Jazz"
description="Jazz"/>
</MapNode>
<MapNode url="~\Movies.aspx"
title="Movies"
description="Movies">
<MapNode url="~\Action.aspx"
title="Action"
description="Action"/>
<MapNode url="~\Drama.aspx"
title="Drama"
description="Drama"/>
<MapNode url="~\Musical.aspx"
title="Musical"
description="Musical"/>
</MapNode>
</MapHomeNode>
Poznámky
Kolekce DataBindings obsahuje MenuItemBinding objekty, které definují vztah mezi datovou položkou a položkou nabídky, se kterou je vázána. Při vazbě ke zdroji dat, kde každá datová položka obsahuje více vlastností (například element XML s několika atributy), 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 stromu, ale není velmi užitečné jinak. Položku nabídky můžete svázat s konkrétní vlastností datové položky zadáním vazeb položek nabídky.
Při definování relace mezi datovou položkou a položkou nabídky je nutné zadat kritéria pro vazbu i vlastnost datové položky, ke které se má vytvořit vazba. Kritéria označují, kdy má být datová položka vázána na položku nabídky. Kritéria lze zadat hloubkou, datovým členem nebo obojím. Hloubka určuje úroveň nabídky, která se sváže. Pokud například zadáte hloubku 0, všechny položky nabídky ve struktuře stromu na úrovni 0 jsou vázány pomocí vazby položky nabídky. 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. Například datový člen pro element XML určuje název elementu.
Pokud je definováno více MenuItemBinding objektů, které jsou vzájemně v konfliktu, Menu ovládací prvek použije vazby položek nabídky v následujícím pořadí priorit:
Objekt MenuItemBinding , který definuje hloubku i datový člen.
Objekt MenuItemBinding , který definuje pouze hloubku.
Objekt MenuItemBinding , který definuje pouze datový člen.
Objekt MenuItemBinding , který definuje hloubku ani datový člen.
Po vytvoření vazebních kritérií můžete vytvořit vazbu vlastnosti MenuItem objektu, který je schopen být vázán na atribut nebo pole datové položky. Vlastnost položky nabídky můžete například svázat Text s textovým atributem elementu XML nastavením TextField vlastnosti objektu MenuItemBinding . Můžete také vytvořit vazbu na statickou hodnotu. Pokud nastavíte Text vlastnost objektu MenuItemBinding , všechny položky nabídky, na které MenuItemBinding se objekt použije, sdílejí stejnou statickou textovou hodnotu. Další informace o vazbě vlastností objektu MenuItem na hodnotu naleznete v tématu MenuItemBinding.
DataBindings I když se kolekce dá programově naplnit, obvykle se nastavuje deklarativním způsobem. Chcete-li určit vazby položek nabídky, nejprve vnořte počáteční a pravou <DataBindings> značku mezi levou a pravou značkou Menu ovládacího prvku. Dále umístěte <asp:MenuItemBinding> prvky mezi levou a pravou <DataBindings> značku pro každou vazbu položky nabídky, kterou chcete zadat.