MenuItem.Depth Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets the level at which a menu item is displayed.
public:
property int Depth { int get(); };
[System.ComponentModel.Browsable(false)]
public int Depth { get; }
[<System.ComponentModel.Browsable(false)>]
member this.Depth : int
Public ReadOnly Property Depth As Integer
Property Value
The level at which a menu item is displayed.
- Attributes
Examples
The following example demonstrates how to use the Depth property to determine the depth of a menu item.
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void Page_Load(Object sender, EventArgs e)
{
// If the Menu control contains any root nodes, perform a
// preorder traversal of the tree and display the text of
// nodes with a depth of 2.
if (NavigationMenu.Items.Count > 0)
{
// Iterate through the root menu items in the Items collection.
foreach (MenuItem item in NavigationMenu.Items)
{
DisplayChildMenuText(item);
}
}
else
{
Message.Text = "The Menu control does not have any items.";
}
}
void DisplayChildMenuText(MenuItem item)
{
// Use the Depth property to determine the depth of a
// menu item. Display only items with a depth of 2.
if (item.Depth == 2)
{
Message.Text += item.Text + "<br />";
}
// Iterate through the child menu items of the parent menu item
// passed into this method, and display their values.
foreach (MenuItem childItem in item.ChildItems)
{
// Recursively call the DisplayChildMenuText method to
// traverse the tree.
DisplayChildMenuText(childItem);
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>MenuItem Depth Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>MenuItem Depth Example</h3>
<asp:menu id="NavigationMenu"
staticdisplaylevels="2"
staticsubmenuindent="10"
orientation="Vertical"
runat="server">
<items>
<asp:menuitem text="Home"
tooltip="Home">
<asp:menuitem text="Music"
tooltip="Music">
<asp:menuitem text="Classical"
tooltip="Classical"/>
<asp:menuitem text="Rock"
tooltip="Rock"/>
<asp:menuitem text="Jazz"
tooltip="Jazz"/>
</asp:menuitem>
<asp:menuitem text="Movies"
tooltip="Movies">
<asp:menuitem text="Action"
tooltip="Action"/>
<asp:menuitem text="Drama"
tooltip="Drama"/>
<asp:menuitem text="Musical"
tooltip="Musical"/>
</asp:menuitem>
</asp:menuitem>
</items>
</asp:menu>
<hr/>
Menu items with a depth of 2:<br/><br/>
<asp:label id="Message"
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">
<script runat="server">
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
' If the Menu control contains any root menu items, perform a
' preorder traversal of the tree and display the text of
' menu items with a depth of 2.
If NavigationMenu.Items.Count > 0 Then
' Iterate through the root menu items in the Items collection.
Dim item As MenuItem
For Each item In NavigationMenu.Items
DisplayChildMenuText(item)
Next
Else
Message.Text = "The Menu control does not have any items."
End If
End Sub
Sub DisplayChildMenuText(ByVal item As MenuItem)
' Use the Depth property to determine the depth of a
' menu item. Display only items with a depth of 2.
If item.Depth = 2 Then
Message.Text += item.Text + "<br />"
End If
' Iterate through the child menu items of the parent menu item
' passed into this method, and display their values.
Dim childItem As MenuItem
For Each childItem In item.ChildItems
' Recursively call the DisplayChildMenuText method to
' traverse the tree.
DisplayChildMenuText(childItem)
Next
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>MenuItem Depth Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>MenuItem Depth Example</h3>
<asp:menu id="NavigationMenu"
staticdisplaylevels="2"
staticsubmenuindent="10"
orientation="Vertical"
runat="server">
<items>
<asp:menuitem text="Home"
tooltip="Home">
<asp:menuitem text="Music"
tooltip="Music">
<asp:menuitem text="Classical"
tooltip="Classical"/>
<asp:menuitem text="Rock"
tooltip="Rock"/>
<asp:menuitem text="Jazz"
tooltip="Jazz"/>
</asp:menuitem>
<asp:menuitem text="Movies"
tooltip="Movies">
<asp:menuitem text="Action"
tooltip="Action"/>
<asp:menuitem text="Drama"
tooltip="Drama"/>
<asp:menuitem text="Musical"
tooltip="Musical"/>
</asp:menuitem>
</asp:menuitem>
</items>
</asp:menu>
<hr/>
Menu items with a depth of 2:<br/><br/>
<asp:label id="Message"
runat="server"/>
</form>
</body>
</html>
Remarks
Use the Depth property to determine the depth of the menu item. The depth indicates the level at which a menu item is displayed and represents the number of levels of hierarchy between the current menu item and the root menu item. For example, a root menu item has a depth of 0. A submenu item of the root menu item has a depth of 1, and so on.