MenuItemBinding.Depth 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置应用 MenuItemBinding 对象的菜单深度。
public:
property int Depth { int get(); void set(int value); };
[System.ComponentModel.TypeConverter("System.Web.UI.Design.WebControls.TreeNodeBindingDepthConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public int Depth { get; set; }
[System.ComponentModel.TypeConverter("System.Web.UI.Design.WebControls.TreeNodeBindingDepthConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public int Depth { get; set; }
[<System.ComponentModel.TypeConverter("System.Web.UI.Design.WebControls.TreeNodeBindingDepthConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
member this.Depth : int with get, set
[<System.ComponentModel.TypeConverter("System.Web.UI.Design.WebControls.TreeNodeBindingDepthConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
member this.Depth : int with get, set
Public Property Depth As Integer
属性值
应用 MenuItemBinding 的菜单深度。 默认值为 -1,指示未设置此属性。
- 属性
示例
下面的代码示例演示如何使用 Depth 属性指定应用 MenuItemBinding 对象的菜单深度。 若要使此示例正常工作,必须将下面的示例 XML 数据复制到名为MenuDepth.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 Depth Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>MenuItemBinding Depth Example</h3>
<asp:menu id="NavigationMenu"
datasourceid="MenuSource"
runat="server">
<databindings>
<asp:menuitembinding depth="0"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_self" />
<asp:menuitembinding depth="1"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_blank"/>
<asp:menuitembinding depth="2"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_blank"/>
</databindings>
</asp:menu>
<asp:xmldatasource id="MenuSource"
datafile="MenuDepth.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 Depth Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>MenuItemBinding Depth Example</h3>
<asp:menu id="NavigationMenu"
datasourceid="MenuSource"
runat="server">
<databindings>
<asp:menuitembinding depth="0"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_self" />
<asp:menuitembinding depth="1"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_blank"/>
<asp:menuitembinding depth="2"
textfield="Title"
valuefield="Description"
imageurlfield="ImageUrl"
tooltipfield="ToolTip"
target="_blank"/>
</databindings>
</asp:menu>
<asp:xmldatasource id="MenuSource"
datafile="MenuDepth.xml"
runat="server"/>
</form>
</body>
</html>
下面的代码是上一个示例的示例站点地图数据。
<MapNode 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>
</MapNode>
注解
创建 MenuItemBinding 对象时,必须指定绑定的条件。 条件指示数据项何时应绑定到菜单项。 可以指定 Depth 属性、 DataMember 属性或两者。
使用 Depth 属性指定应用 MenuItemBinding 对象的菜单深度。 例如,以下 MenuItemBinding 声明将数据源的名称和 ID 字段分别绑定到 Text 深度为 0 的所有菜单项的和 Value 属性:
<asp:MenuItemBinding Depth="0" TextField="Name" ValueField="ID">
有时,可能需要创建一个菜单项绑定,该绑定同时指定深度和数据成员。 当数据源包含具有相同数据成员值的不同级别的项时,通常会使用此值。 例如,可以在 XML 文件中的不同 <Item>
级别显示元素。 以下 MenuItemBinding 声明演示如何指定应用于不同菜单深度相同数据成员的菜单项绑定:
<asp:MenuItemBinding DataMember="Item" Depth="1" TextField="Title">
<asp:MenuItemBinding DataMember="Item" Depth="2" TextField="ISBN">
如果未定义菜单项绑定且没有深度和数据成员,菜单项绑定将应用于菜单中的所有菜单项。 当所有数据项具有相同的属性并且应以相同的方式显示(无论菜单深度如何)时,通常会使用此方法。
建立绑定条件后,可以绑定可绑定到值的对象的属性 MenuItem 。 可以绑定到数据项的字段或静态值。 绑定到静态值时,应用该对象的所有 MenuItem 对象 MenuItemBinding 共享相同的值。 绑定到字段的属性包含数据源中字段的值。
如果定义了冲突 MenuItemBinding 对象,该 Menu 控件将按以下优先级顺序应用菜单项绑定:
MenuItemBinding定义和数据成员并匹配的对象。
MenuItemBinding仅定义数据成员并匹配的对象。
MenuItemBinding仅定义和匹配深度的对象。
MenuItemBinding定义深度和数据成员的对象。 (此类型的菜单项绑定应用于 menu.)
MenuItemBinding数据源中没有匹配的对象。 在这种情况下,数据项方法返回
ToString()
的值随后绑定到Text应用对象的菜单项MenuItemBinding的属性Value。