MenuItem.ValuePath Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém o caminho do item de menu raiz do item de menu atual.
public:
property System::String ^ ValuePath { System::String ^ get(); };
[System.ComponentModel.Browsable(false)]
public string ValuePath { get; }
[<System.ComponentModel.Browsable(false)>]
member this.ValuePath : string
Public ReadOnly Property ValuePath As String
Valor da propriedade
Uma lista separada por delimitador de valores de item de menu que formam um caminho do item de menu raiz até o item de menu atual.
- Atributos
Exemplos
O exemplo a seguir demonstra como analisar o valor para a ValuePath propriedade para os valores de item de menu individuais.
<%@ 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)
{
// Get the Classical menu item using the Items
// and ChildItems collections.
MenuItem item = NavigationMenu.Items[0].ChildItems[0].ChildItems[0];
// Create the delimiter array using the PathSeparator value.
// This array is used by the Split method to parse the
// value path string.
Char[] DelimiterArray = new Char[1];
DelimiterArray[0] = NavigationMenu.PathSeparator;
// Parse the value path of the Classical menu item
// using the Split method.
String[] nodeValues = item.ValuePath.Split(DelimiterArray);
// Display the original and parsed values.
Message.Text = "The original value path for the Classical menu item is <b>" +
item.ValuePath + "</b>.<br/>";
Message.Text += "The individual values that make up the value " +
"path are: <br/>";
foreach (String menuValue in nodeValues)
{
Message.Text += "- <b>" + menuValue + "</b><br/>";
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>MenuItem ValuePath Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>MenuItem ValuePath Example</h3>
<asp:menu id="NavigationMenu"
staticdisplaylevels="1"
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/>
<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)
' Get the Classical menu item using the Items
' and ChildItems collections.
Dim item As MenuItem = NavigationMenu.Items(0).ChildItems(0).ChildItems(0)
' Create the delimiter array using the PathSeparator value.
' This array is used by the Split method to parse the
' value path string.
Dim DelimiterArray(1) As Char
DelimiterArray(0) = NavigationMenu.PathSeparator
' Parse the value path of the Classical menu item
' using the Split method.
Dim nodeValues() As String = item.ValuePath.Split(DelimiterArray)
' Display the original and parsed values.
Message.Text = "The original value path for the Classical menu item is <b>" & _
item.ValuePath & "</b>.<br/>"
Message.Text &= "The individual values that make up the value " & _
"path are: <br/>"
Dim menuValue As String
For Each menuValue In nodeValues
Message.Text &= "- <b>" & menuValue & "</b><br/>"
Next
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>MenuItem ValuePath Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>MenuItem ValuePath Example</h3>
<asp:menu id="NavigationMenu"
staticdisplaylevels="1"
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/>
<asp:label id="Message"
runat="server"/>
</form>
</body>
</html>
Comentários
A ValuePath propriedade contém uma lista separada por delimitador de valores de item de menu que formam um caminho do item de menu raiz para o item de menu atual. O caminho do valor é usado para indicar a posição de um item de menu em um Menu controle. Você pode especificar o caractere delimitador usado para separar os valores do item de menu usando a PathSeparator propriedade. Esse valor é comumente usado ao analisar a lista para os valores individuais ou passar como um argumento para o FindItem método da TreeView classe. Dependendo do valor exibido no controle, o Menu caractere delimitador pode precisar ser alterado para evitar conflitos. Por exemplo, se você definir o caractere delimitador como uma vírgula, o valor exibido não deverá conter vírgulas; caso contrário, não é possível analisar a ValuePath propriedade com precisão.
Observação
Os valores da Value propriedade de cada item de menu do item de menu raiz para o item de menu atual são usados para gerar o caminho do valor. Os itens de menu no mesmo nível de menu devem ter um valor exclusivo para a Value propriedade; o Menu controle não pode distinguir entre itens de menu diferentes no mesmo nível que têm o mesmo valor.