Menu.DataBindings 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取 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 能够绑定到数据项的属性或字段的对象的属性。 例如,可以通过设置TextField对象的属性将Text菜单项的属性绑定到 XML 元素上的文本属性MenuItemBinding。 还可以绑定到静态值。 如果设置 Text 对象的属性 MenuItemBinding ,则应用对象的所有菜单项 MenuItemBinding 共享相同的静态文本值。 有关将对象属性 MenuItem 绑定到值的详细信息,请参阅 MenuItemBinding。
DataBindings虽然集合可以以编程方式填充,但通常以声明方式设置该集合。 若要指定菜单项绑定,请先嵌套控件的开始标记和结束 <DataBindings>
标记之间的开始标记和结束标记 Menu 。 接下来,在要指定的每个菜单项绑定的开始标记和结束<DataBindings>
标记之间放置<asp:MenuItemBinding>
元素。