Menu.DataBindings Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает коллекцию объектов MenuItemBinding, определяющих связь между элементом данных и пунктом меню, к которому он привязан.
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
Значение свойства
Объект MenuItemBindingCollection, представляющий связь между элементом данных и пунктом меню, к которому он привязан.
- Атрибуты
Примеры
В следующем примере кода показано, как использовать коллекцию DataBindings для определения связи между полями XmlDataSource элемента управления и элементами меню в элементе Menu управления . Чтобы этот пример работал правильно, необходимо скопировать приведенный ниже пример XML-данных в файл с именем 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>
Ниже приведен пример данных карты сайта для предыдущего примера.
<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>
Комментарии
Коллекция DataBindings содержит MenuItemBinding объекты, определяющие связь между элементом данных и элементом меню, к которому он привязан. При привязке к источнику данных, где каждый элемент данных содержит несколько свойств (например, XML-элемент с несколькими атрибутами), элемент меню отображает значение, возвращаемое методом ToString()
элемента данных по умолчанию. В случае xml-элемента в пункте меню отображается имя элемента, которое показывает базовую структуру дерева, но в противном случае это не очень полезно. Элемент меню можно привязать к определенному свойству элемента данных, указав привязки элементов меню.
При определении связи между элементом данных и элементом меню необходимо указать критерии привязки и свойство элемента данных, к которым выполняется привязка. Критерии указывают, когда элемент данных должен быть привязан к элементу меню. Критерии можно указать с помощью глубины, элемента данных или и того, и другого. Глубина задает уровень меню, который становится привязанным. Например, если указать глубину 0, все пункты меню в древовидной структуре на уровне 0 будут привязаны с помощью привязки элемента меню. Элемент данных определяет тип элемента данных в базовом источнике данных, но может представлять различные сведения в зависимости от источника данных. Например, элемент данных для XML-элемента указывает имя элемента .
Если определено несколько MenuItemBinding объектов, конфликтующих Menu друг с другом, элемент управления применяет привязки элементов меню в следующем порядке приоритета:
Объект MenuItemBinding , определяющий как глубину, так и элемент данных.
Объект MenuItemBinding , определяющий только глубину.
Объект MenuItemBinding , определяющий только элемент данных.
Объект MenuItemBinding , который не определяет ни глубину, ни элемент данных.
После установки критериев привязки можно привязать свойство MenuItem объекта, которое может быть привязано к атрибуту или полю элемента данных. Например, можно привязать Text свойство элемента меню к атрибуту text в XML-элементе TextField , задав свойство MenuItemBinding объекта . Также можно привязать к статическому значению. Если задать Text свойство MenuItemBinding объекта, все пункты меню, к которым MenuItemBinding применяется объект, имеют одно и то же статическое текстовое значение. Дополнительные сведения о привязке свойств MenuItem объекта к значению см. в разделе MenuItemBinding.
DataBindings Хотя коллекция может быть заполнена программным способом, обычно она устанавливается декларативно. Чтобы указать привязки элементов меню, сначала вложить открывающие и закрывающие <DataBindings>
теги между открывающим и закрывающим тегами Menu элемента управления. Затем поместите <asp:MenuItemBinding>
элементы между открывающим и закрывающим <DataBindings>
тегами для каждой привязки пункта меню, которую вы хотите указать.