MenuItem.ValuePath Propiedad

Definición

Obtiene la ruta de acceso desde el elemento de menú raíz hasta el elemento de menú actual.Gets the path from the root menu item to the current menu item.

public:
 property System::String ^ ValuePath { System::String ^ get(); };
[System.ComponentModel.Browsable(false)]
public string ValuePath { get; }
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.A delimiter-separated list of menu item values that form a path from the root menu item to the current menu item.

Atributos

Ejemplos

En el ejemplo siguiente se muestra cómo analizar el valor de la propiedad ValuePath para los valores de elemento de menú individuales.The following example demonstrates how to parse the value to the ValuePath property for the individual menu item values.


<%@ 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 propiedad ValuePath contiene una lista separada por delimitadores de valores de elementos de menú que forman una ruta de acceso desde el elemento de menú raíz hasta el elemento de menú actual.The ValuePath property contains a delimiter-separated list of menu item values that form a path from the root menu item to the current menu item. La ruta de acceso del valor se usa para indicar la posición de un elemento de menú en un control de Menu.The value path is used to indicate the position of a menu item in a Menu control. Puede especificar el carácter delimitador que se usa para separar los valores del elemento de menú mediante la propiedad PathSeparator.You can specify the delimiter character used to separate the menu item values by using the PathSeparator property. Este valor se utiliza normalmente al analizar la lista para los valores individuales o para pasar como argumento al método FindItem de la clase TreeView.This value is commonly used when parsing the list for the individual values, or to pass as an argument to the FindItem method of the TreeView class. Dependiendo del valor mostrado en el control Menu, es posible que sea necesario cambiar el carácter delimitador para evitar conflictos.Depending on the value displayed in the Menu control, the delimiter character might need to be changed to prevent any conflicts. 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 propiedad ValuePath.For example, if you set the delimiter character to a comma, the displayed value should not contain any commas; otherwise, you cannot accurately parse the ValuePath property.

Nota

Los valores de la propiedad Value de cada elemento de menú desde el elemento de menú raíz hasta el elemento de menú actual se usan para generar la ruta de acceso del valor.The values of the Value property of each menu item from the root menu item to the current menu item are used to generate the value path. Los elementos de menú que se encuentra en el mismo nivel de menú deben tener cada uno un valor único para la propiedad Value; el control Menu no puede distinguir entre los distintos elementos de menú del mismo nivel que tienen el mismo valor.Menu items at the same menu level must each have a unique value for the Value property; the Menu control cannot distinguish between different menu items at the same level that have the same value.

Se aplica a

Consulte también: