MenuItem.ValuePath Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Obtém o caminho do item raiz do menu até ao item atual do menu.
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 de Propriedade
Uma lista separada por delimitadores de valores de itens do menu que formam um caminho do item raiz do menu até ao item atual do menu.
- Atributos
Exemplos
O exemplo seguinte demonstra como analisar o valor da ValuePath propriedade para os valores individuais dos itens do menu.
<%@ 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>
Observações
A ValuePath propriedade contém uma lista separada por delimitadores de valores de itens do menu que formam um caminho do item raiz do menu até ao item atual do menu. O caminho de valores é usado para indicar a posição de um item de menu num Menu controlo. Pode especificar o carácter delimitador usado para separar os valores dos itens do menu usando a PathSeparator propriedade. Este valor é comumente usado ao analisar a lista para os valores individuais, ou para passar como argumento ao FindItem método da TreeView classe. Dependendo do valor apresentado no Menu controlo, o carácter delimitador pode ter de ser alterado para evitar conflitos. Por exemplo, se definir o carácter delimitador para vírgula, o valor apresentado não deverá conter vírgulas; caso contrário, não pode analisar a ValuePath propriedade com precisão.
Note
Os valores da Value propriedade de cada item do menu raiz para o item atual são usados para gerar o caminho de valores. Itens do menu ao mesmo nível de menu devem ter cada um um valor único para a Value propriedade; o Menu controlo não consegue distinguir entre diferentes itens do menu ao mesmo nível que tenham o mesmo valor.