Compartir vía


MenuItem.ValuePath Propiedad

Definición

Obtiene la ruta de acceso desde el elemento de menú raíz hasta el elemento de menú actual.

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 propiedad

Una lista de valores de elementos de menú, separados por delimitadores, que forman una ruta de acceso desde el elemento de menú raíz hasta el elemento de menú actual.

Atributos

Ejemplos

En el ejemplo siguiente se muestra cómo analizar el valor de la ValuePath propiedad para los valores individuales del elemento de menú.


<%@ 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>

Comentarios

La ValuePath propiedad contiene una lista separada por delimitadores de valores de elemento de menú que forman una ruta de acceso del elemento de menú raíz al elemento de menú actual. La ruta de acceso de valor se usa para indicar la posición de un elemento de menú en un Menu control . Puede especificar el carácter delimitador utilizado para separar los valores del elemento de menú mediante la PathSeparator propiedad . Este valor se usa normalmente al analizar la lista para los valores individuales o pasar como argumento al FindItem método de la TreeView clase . Dependiendo del valor mostrado en el Menu control, es posible que sea necesario cambiar el carácter delimitador para evitar conflictos. Por ejemplo, si establece el carácter delimitador en una coma, el valor mostrado no debe contener ninguna coma; de lo contrario, no se puede analizar con precisión la ValuePath propiedad .

Nota

Los valores de la Value propiedad de cada elemento de menú del elemento de menú raíz al elemento de menú actual se usan para generar la ruta de acceso del valor. Los elementos de menú del mismo nivel de menú deben tener un valor único para la Value propiedad; el Menu control no puede distinguir entre distintos elementos de menú en el mismo nivel que tienen el mismo valor.

Se aplica a

Consulte también