Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Clase MenuItem

 

Publicado: octubre de 2016

Representa un elemento de menú que se muestra en el control Menu. Esta clase no puede heredarse.

Espacio de nombres:   System.Web.UI.WebControls
Ensamblado:  System.Web (en System.Web.dll)

System.Object
  System.Web.UI.WebControls.MenuItem

public sealed class MenuItem : IStateManager, ICloneable

NombreDescripción
System_CAPS_pubmethodMenuItem()

Inicializa una nueva instancia de la MenuItem clase sin texto de menú o un valor.

System_CAPS_pubmethodMenuItem(String)

Inicializa una nueva instancia de la MenuItem clase utilizando el texto de menú especificado.

System_CAPS_pubmethodMenuItem(String, String)

Inicializa una nueva instancia de la MenuItem con el texto de menú especificado y el valor de la clase.

System_CAPS_pubmethodMenuItem(String, String, String)

Inicializa una nueva instancia de la MenuItem clase utilizando el texto de menú especificado, el valor y la dirección URL a una imagen.

System_CAPS_pubmethodMenuItem(String, String, String, String)

Inicializa una nueva instancia de la MenuItem clase utilizando el texto de menú especificado, el valor, la dirección URL de imagen y la dirección URL de navegación.

System_CAPS_pubmethodMenuItem(String, String, String, String, String)

Inicializa una nueva instancia de la MenuItem con el texto de menú especificado, valor, dirección URL de imagen, dirección URL de navegación y el destino de la clase.

NombreDescripción
System_CAPS_pubpropertyChildItems

Obtiene un MenuItemCollection objeto que contiene los elementos de submenú del elemento de menú actual.

System_CAPS_pubpropertyDataBound

Obtiene un valor que indica si el elemento de menú se creó mediante enlace de datos.

System_CAPS_pubpropertyDataItem

Obtiene el elemento de datos que está enlazado al elemento de menú.

System_CAPS_pubpropertyDataPath

Obtiene la ruta de acceso a los datos que está enlazados al elemento de menú.

System_CAPS_pubpropertyDepth

Obtiene el nivel en el que se muestra un elemento de menú.

System_CAPS_pubpropertyEnabled

Obtiene o establece un valor que indica si la MenuItem objeto está habilitado, lo que permite el elemento para mostrar una imagen desplegable y cualquier elemento secundario elementos de menú.

System_CAPS_pubpropertyImageUrl

Obtiene o establece la dirección URL de una imagen que se muestra junto al texto en un elemento de menú.

System_CAPS_pubpropertyNavigateUrl

Obtiene o establece la dirección URL de destino cuando se hace clic en el elemento de menú.

System_CAPS_pubpropertyParent

Obtiene al elemento primario en el elemento de menú del elemento de menú actual.

System_CAPS_pubpropertyPopOutImageUrl

Obtiene o establece la dirección URL de una imagen que se muestra en un elemento de menú para indicar que el elemento de menú tiene un submenú dinámico.

System_CAPS_pubpropertySelectable

Obtiene o establece un valor que indica si el MenuItem se puede seleccionar el objeto, o es "seleccionable".

System_CAPS_pubpropertySelected

Obtiene o establece un valor que indica si el elemento de menú actual está seleccionado en un Menu control.

System_CAPS_pubpropertySeparatorImageUrl

Obtiene o establece la dirección URL a una imagen mostrada en la parte inferior de un elemento de menú para separarlo de otros elementos de menú.

System_CAPS_pubpropertyTarget

Obtiene o establece la ventana o el marco de destino donde se mostrará el contenido de una página web asociada a un elemento de menú.

System_CAPS_pubpropertyText

Obtiene o establece el texto mostrado del elemento de menú en un Menu control.

System_CAPS_pubpropertyToolTip

Obtiene o establece el texto de información sobre herramientas para el elemento de menú.

System_CAPS_pubpropertyValue

Obtiene o establece un valor no mostrado que se utiliza para almacenar datos adicionales sobre el elemento de menú, como los datos utilizados para controlar los eventos de devolución.

System_CAPS_pubpropertyValuePath

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

NombreDescripción
System_CAPS_pubmethodEquals(Object)

Determina si el objeto especificado es igual al objeto actual.(Heredado de Object).

System_CAPS_pubmethodGetHashCode()

Sirve como la función hash predeterminada.(Heredado de Object).

System_CAPS_pubmethodGetType()

Obtiene el Type de la instancia actual.(Heredado de Object).

System_CAPS_pubmethodToString()

Devuelve una cadena que representa al objeto actual. (Heredado de Object).

NombreDescripción
System_CAPS_pubinterfaceSystem_CAPS_privmethodICloneable.Clone()

Crea una copia de la actual MenuItem objeto.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIStateManager.LoadViewState(Object)

Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. Carga el elemento de menú guardado previamente el estado de vista.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIStateManager.SaveViewState()

Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. Guarda el estado de vista cambia a un Object.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIStateManager.TrackViewState()

Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. Indica la MenuItem objeto que se va a realizar el seguimiento de cambios en su estado de vista.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIStateManager.IsTrackingViewState

Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. Obtiene un valor que indica si la MenuItem objeto está guardando los cambios en su estado de vista.

Un Menu control se compone de una jerarquía de elementos de menú representados por MenuItem objetos. Cada elemento de menú tiene sólo lectura Depth propiedad que especifica el nivel en el que se muestra el elemento de menú en el Menu control. Elementos de menú en el nivel superior (nivel 0) que no tiene un elemento de menú primario se denominan elementos de menú raíz. Un elemento de menú que tiene un elemento de menú primario se llama a un elemento de submenú. Todos los elementos de menú raíz se almacenan en la Items colección. Elementos de submenú se almacenan en un elemento de menú primario ChildItems colección. Puede tener acceso a elemento de menú primario de un elemento de menú mediante el Parent propiedad.

System_CAPS_noteNota

El Items y ChildItems colecciones contienen los elementos de menú del siguiente nivel hacia abajo. Para obtener acceso a elementos de menú más abajo en el árbol de menú, utilice la ChildItems propiedad de un elemento de menú subsiguientes.

Para crear los elementos de menú para un Menu control, utilice uno de los métodos siguientes:

Utilizar la sintaxis declarativa para crear elementos de menú estático.

Utilice un constructor para crear dinámicamente nuevas instancias de la MenuItem clase. Estos MenuItem a continuación, se pueden agregar objetos a la Items o ChildItems colección.

Enlazar el Menu control a un origen de datos. Cuando el Menu control se enlaza a un SiteMapDataSource control MenuItem automáticamente se crean objetos que corresponden a los elementos del origen de datos. Para otros orígenes de datos, MenuItem también automáticamente se crean objetos que coinciden con la estructura de la jerarquía de origen de datos, sin embargo, debe utilizar el DataBindings colección para definir los enlaces del elemento de menú que especifican la relación entre un elemento de menú y su elemento de datos correspondiente.

Los elementos de menú se muestran en un menú estático o un menú dinámico, dependiendo de su nivel. El menú estático siempre se muestra en un Menu control. De forma predeterminada, los elementos de menú en el nivel superior (nivel 0) se muestran en el menú estático. Puede mostrar otros niveles de menú (submenús estáticos) dentro del menú estático estableciendo la StaticDisplayLevels propiedad. Menú de elementos (si existe) con un nivel más alto que el valor especificado por el StaticDisplayLevels propiedad se muestran en un submenú dinámico. Un submenú dinámico aparece sólo cuando el usuario coloca el puntero del mouse sobre el elemento de menú primario que contiene el submenú dinámico.

Cuando el usuario hace clic en un elemento de menú, el Menu control puede navegar a una página Web vinculada o simplemente devolver el servidor. Si el NavigateUrl se establece la propiedad de un elemento de menú, el Menu control navega a la página vinculada; de lo contrario, devuelve la página al servidor para su procesamiento. De forma predeterminada, una página vinculada se muestra en la misma ventana o marco como el Menu control. Para mostrar el contenido vinculado en una ventana diferente o un marco, use la Target propiedad de la Menu control.

System_CAPS_noteNota

El Menu.Target propiedad afecta a cada elemento de menú en el control. Para especificar una ventana o marco para un elemento de menú individuales, establezca el Target propiedad de la MenuItem objeto directamente.

Cada elemento de menú tiene un Text y un Value propiedad. El valor de la Text propiedad se muestra en el Menu control, mientras que el Value propiedad se utiliza para almacenar datos adicionales sobre el elemento de menú, como los datos que se pasan al evento de devolución de datos asociado al elemento de menú. Si establece la Text propiedad, pero deje la Value propiedad no se establece, el Value propiedad se establece automáticamente con el mismo valor que el Text propiedad. Lo contrario también es cierto. Si establece la Value propiedad, pero no el Text propiedad, el Text propiedad se establece automáticamente con el mismo valor que el Value propiedad.

System_CAPS_noteNota

Elementos de menú en el mismo nivel de menú deben tener un valor único para el Value propiedad; el Menu control no puede distinguir entre diferentes elementos de menú en el mismo nivel que tienen el mismo valor. En este escenario, si el usuario hace clic en un elemento de menú que tiene un valor duplicado, se selecciona el elemento de menú que aparece primero en el menú.

Para mostrar una información sobre herramientas cuando el usuario coloca el puntero del mouse sobre un elemento de menú, establezca el elemento ToolTip propiedad.

Un Menu control tiene varios tipos diferentes de elementos de menú. Puede controlar el estilo (como tamaño de fuente y color) para los tipos de elemento de menú diferente mediante las propiedades de la tabla siguiente.

Propiedad de estilo de elemento de menú

Descripción

DynamicHoverStyle

La configuración de estilo para un elemento de menú dinámico cuando el puntero del mouse se coloca sobre él.

DynamicMenuItemStyle

La configuración de estilo para un elemento de menú dinámico en particular.

DynamicMenuStyle

La configuración de estilo para un menú dinámico.

DynamicSelectedStyle

La configuración de estilo para el elemento de menú dinámico seleccionado.

StaticHoverStyle

La configuración de estilo para un elemento de menú estático cuando el puntero del mouse se coloca sobre él.

StaticMenuItemStyle

La configuración de estilo para un elemento de menú estático en particular.

StaticMenuStyle

La configuración de estilo de un menú estático.

StaticSelectedStyle

La configuración de estilo para el elemento de menú estático actualmente seleccionado.

En lugar de establecer las propiedades de estilo individuales, puede especificar los estilos que se aplican a los elementos de menú según su nivel utilizando las colecciones de estilos que se muestra en la tabla siguiente.

Colecciones de estilos para niveles

Descripción

LevelMenuItemStyles

Una colección de MenuItemStyle objetos que controlan el estilo de los elementos de menú según su nivel.

LevelSelectedStyles

Una colección de MenuItemStyle seleccionan de objetos que controlan el estilo de elementos de menú según su nivel.

LevelSubMenuStyles

Una colección de MenuItemStyle objetos que controlan el estilo de los elementos de submenú según su nivel.

El primer estilo de la colección corresponde al estilo de los elementos de menú en el primer nivel de profundidad del árbol de menús. El segundo estilo de la colección corresponde al estilo de los elementos de menú en el segundo nivel de profundidad en el árbol de menús y así sucesivamente. Esto se utiliza frecuentemente para generar menús de navegación de estilo de contenido de donde los elementos de menú de una cierta profundidad deben tener el mismo aspecto, independientemente de si tienen o submenús.

System_CAPS_noteNota

Si usa cualquiera de las colecciones de estilo de nivel de la tabla anterior para definir el estilo de la Menu control, estas opciones de estilo invalidar las propiedades de estilo del elemento de menú individuales.

Además de personalizar el estilo de un elemento de menú, también puede personalizar su apariencia. Puede especificar imágenes personalizadas para las diferentes partes de un elemento de menú estableciendo las propiedades en la tabla siguiente.

Propiedad de imagen

Descripción

ImageUrl

Imagen opcional que se muestra junto al texto de un elemento de menú.

PopOutImageUrl

Imagen opcional que se muestra en un elemento de menú para indicar que el elemento de menú tiene un submenú dinámico.

SeparatorImageUrl

Imagen opcional que se muestra en la parte inferior de un elemento de menú para separarlo de otros elementos de menú.

Para determinar si un elemento de menú está actualmente seleccionado en un Menu control, use la Selected propiedad. También puede determinar si un elemento de menú está enlazado a datos mediante el uso de la DataBound propiedad. Si un elemento de menú está enlazado a datos, puede usar el DataItem propiedad para tener acceso a los valores del elemento de datos enlazado al elemento de menú.

Para obtener una lista con los valores de propiedad iniciales de una instancia de la clase MenuItem, vea el constructor MenuItem.

En el ejemplo siguiente se muestra cómo rellenar un Menu control static MenuItem objetos mediante sintaxis declarativa.


<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>MenuItem Declarative Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <h3>MenuItem Declarative Example</h3>

      <!-- Use declarative syntax to create the   -->
      <!-- menu structure. Create submenu items   -->
      <!-- by nesting them within parent menu     -->
      <!-- items.                                 -->
      <asp:menu id="NavigationMenu"
        staticdisplaylevels="1"
        staticsubmenuindent="10" 
        orientation="Vertical" 
        target="_blank"  
        runat="server">

        <items>
          <asp:menuitem navigateurl="Home.aspx" 
            text="Home"
            imageurl="Images\Home.gif"
            popoutimageurl="Images\Popout.jpg"   
            tooltip="Home">
            <asp:menuitem navigateurl="Music.aspx"
              text="Music"
              popoutimageurl="Images\Popout.jpg"
              tooltip="Music">
              <asp:menuitem navigateurl="Classical.aspx" 
                text="Classical"
                separatorimageurl="Images\Separator.jpg"
                tooltip="Classical"/>
              <asp:menuitem navigateurl="Rock.aspx"
                text="Rock"
                separatorimageurl="Images\Separator.jpg"
                tooltip="Rock"/>
              <asp:menuitem navigateurl="Jazz.aspx"
                text="Jazz"
                separatorimageurl="Images\Separator.jpg"
                tooltip="Jazz"/>
            </asp:menuitem>
            <asp:menuitem navigateurl="Movies.aspx"
              text="Movies"
              popoutimageurl="Images\Popout.jpg"              
              tooltip="Movies">
              <asp:menuitem navigateurl="Action.aspx"
                text="Action"
                separatorimageurl="Images\Separator.jpg"
                tooltip="Action"/>
              <asp:menuitem navigateurl="Drama.aspx"
                text="Drama"
                separatorimageurl="Images\Separator.jpg"
                tooltip="Drama"/>
              <asp:menuitem navigateurl="Musical.aspx"
                text="Musical"
                separatorimageurl="Images\Separator.jpg"
                tooltip="Musical"/>
            </asp:menuitem>
          </asp:menuitem>
        </items>

      </asp:menu>

    </form>
  </body>
</html>

En el ejemplo siguiente se muestra cómo enlazar un Menu el control a un SiteMapDataSource control. Cuando se enlaza a un origen de datos, el Menu control crea automáticamente el MenuItem objetos. En este ejemplo funcione correctamente, debe copiar los datos de mapa del sitio de ejemplo siguientes en un archivo denominado Web.sitemap.


<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >

  <!-- For the hover styles of the Menu control to  -->
  <!-- work correctly, you must include this head   -->
  <!-- element.                                     -->
  <head runat="server">
    <title>Menu DataBinding Example</title>
</head>

  <body>
    <form id="form1" runat="server">

      <h3>Menu DataBinding Example</h3>

      <!-- Bind the Menu control to a SiteMapDataSource control.  -->
      <asp:menu id="NavigationMenu"
        disappearafter="2000"
        staticdisplaylevels="2"
        staticsubmenuindent="10" 
        orientation="Vertical"
        font-names="Arial" 
        target="_blank"
        datasourceid="MenuSource"   
        runat="server">

        <staticmenuitemstyle backcolor="LightSteelBlue"
          forecolor="Black"/>
        <statichoverstyle backcolor="LightSkyBlue"/>
        <dynamicmenuitemstyle backcolor="Black"
          forecolor="Silver"/>
        <dynamichoverstyle backcolor="LightSkyBlue"
          forecolor="Black"/>

      </asp:menu>

      <asp:SiteMapDataSource id="MenuSource"
        runat="server"/>        

    </form>
  </body>
</html>

El siguiente es datos de mapa del sitio de ejemplo para el ejemplo anterior.

<siteMap>

<siteMapNode url="~\Home.aspx"

title="Home"

description="Home">

<siteMapNode url="~\Music.aspx"

title="Music"

description="Music">

<siteMapNode url="~\Classical.aspx"

title="Classical"

description="Classical"/>

<siteMapNode url="~\Rock.aspx"

title="Rock"

description="Rock"/>

<siteMapNode url="~\Jazz.aspx"

title="Jazz"

description="Jazz"/>

</siteMapNode>

<siteMapNode url="~\Movies.aspx"

title="Movies"

description="Movies">

<siteMapNode url="~\Action.aspx"

title="Action"

description="Action"/>

<siteMapNode url="~\Drama.aspx"

title="Drama"

description="Drama"/>

<siteMapNode url="~\Musical.aspx"

title="Musical"

description="Musical"/>

</siteMapNode>

</siteMapNode>

</siteMap>

.NET Framework
Disponible desde 2.0

Cualquier miembro ( Compartido en Visual Basic) estático público de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Volver al principio
Mostrar: