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 к текстовому атрибуту XML-элемента, задав TextField свойство MenuItemBinding объекта. Можно также привязать к статическому значению. Если задать Text свойство MenuItemBinding объекта, все элементы меню, к которым MenuItemBinding применяется объект, используют одно и то же статическое текстовое значение. Дополнительные сведения о привязке свойств MenuItem объекта к значению см. в разделе MenuItemBinding.
DataBindings Хотя коллекция может быть программно заполнена, обычно она устанавливается декларативно. Чтобы указать привязки элементов меню, сначала вложенное открытие и закрытие тегов между открывающим и закрывающим <DataBindings> тегами Menu элемента управления. Затем поместите <asp:MenuItemBinding> элементы между открывающим и закрывающим <DataBindings> тегами для каждой привязки элемента меню, которую нужно указать.