Menu.PathSeparator 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 or sets the character used to delimit the path of a menu item in a Menu control.
public:
property char PathSeparator { char get(); void set(char value); };
public char PathSeparator { get; set; }
member this.PathSeparator : char with get, set
Public Property PathSeparator As Char
Property Value
The character used to delimit the path of a menu item. The default value is a slash mark (/).
Examples
The following code example demonstrates how to use the PathSeparator property to change the delimiter character for a menu item's value path to a comma.
<%@ 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)
{
// The value path for a menu item is a delimited list
// of menu text values that form a path from the root
// menu item to the current menu item.
// Declare the value path to the Classical menu item using
// the delimiter character specified in the PathSeparator
// property. In this example, the delimiter character is a
// comma.
String valuePath = "Home,Music,Classical";
// Use the FindItem method to get the Classical menu item using
// its value path.
MenuItem item = NavigationMenu.FindItem(valuePath);
// Indicate whether the menu item was found.
if (item != null)
{
Message.Text = item.Text + " menu item found at depth " +
item.Depth.ToString() + ".";
}
else
{
Message.Text = "Menu item not found.";
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Menu PathSeparator and FindItem Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>Menu PathSeparator and FindItem Example</h3>
<!-- Use the PathSeparator property to -->
<!-- change the delimiter character for -->
<!-- the value path of a menu item to a -->
<!-- comma (,). -->
<asp:menu id="NavigationMenu"
staticdisplaylevels="2"
staticsubmenuindent="10"
orientation="Vertical"
pathseparator=","
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/>
<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)
' The value path for a menu item is a delimited list
' of menu text values that form a path from the root
' menu item to the current menu item.
' Declare the value path to the Classical menu item using
' the delimiter character specified in the PathSeparator
' property. In this example, the delimiter character is a
' comma.
Dim valuePath As String = "Home,Music,Classical"
' Use the FindItem method to get the Classical menu item using
' its value path.
Dim item As MenuItem = NavigationMenu.FindItem(valuePath)
' Indicate whether the menu item was found.
If Not item Is Nothing Then
Message.Text = item.Text & " menu item found at depth " & _
item.Depth.ToString() & "."
Else
Message.Text = "Menu item not found."
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Menu PathSeparator and FindItem Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>Menu PathSeparator and FindItem Example</h3>
<!-- Use the PathSeparator property to -->
<!-- change the delimiter character for -->
<!-- the value path of a menu item to a -->
<!-- comma (,). -->
<asp:menu id="NavigationMenu"
staticdisplaylevels="2"
staticsubmenuindent="10"
orientation="Vertical"
pathseparator=","
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/>
<asp:label id="Message"
runat="server"/>
</form>
</body>
</html>
Remarks
Each menu item (represented by a MenuItem object) in the Menu control has a ValuePath property that specifies the position of the menu item. The value path is a string of delimited values that form the path from a root menu item to the current menu item. Use the PathSeparator property to specify the delimiting character used to separate the values in the menu path. This value is commonly used when parsing the list for the individual values.
Depending on the text displayed in the Menu control, the delimiter character might need to be changed to prevent any conflicts. For example, if you set the delimiter character to a comma, the displayed text should not contain any commas; otherwise, the ValuePath property cannot be parsed accurately.