Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

MenuItem (Clase)

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

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

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

public sealed class MenuItem : IStateManager, 
	ICloneable

El tipo MenuItem expone los siguientes miembros.

  NombreDescripción
Método públicoMenuItem()Inicializa una nueva instancia de la clase MenuItem sin texto de menú o un valor.
Método públicoMenuItem(String)Inicializa una nueva instancia de la clase MenuItem con el texto de menú especificado.
Método públicoMenuItem(String, String)Inicializa una nueva instancia de la clase MenuItem con el texto y el valor de menú especificados.
Método públicoMenuItem(String, String, String)Inicializa una nueva instancia de la clase MenuItem utilizando el texto de menú, el valor y la dirección URL de una imagen especificados.
Método públicoMenuItem(String, String, String, String)Inicializa una nueva instancia de la clase MenuItem utilizando los datos de texto de menú, valor, dirección URL de una imagen y dirección URL de navegación especificados.
Método públicoMenuItem(String, String, String, String, String)Inicializa una nueva instancia de la clase MenuItem utilizando los datos de texto de menú, valor, dirección URL de una imagen, dirección URL de navegación y destino especificados.
Arriba

  NombreDescripción
Propiedad públicaChildItemsObtiene un objeto MenuItemCollection que contiene los elementos de submenú del elemento de menú actual.
Propiedad públicaDataBoundObtiene un valor que indica si el elemento de menú se creó a través de un enlace de datos.
Propiedad públicaDataItemObtiene el elemento de datos enlazado al elemento de menú.
Propiedad públicaDataPathObtiene la ruta de acceso a los datos enlazados al elemento de menú.
Propiedad públicaDepthObtiene el nivel en el que se muestra un elemento de menú.
Propiedad públicaEnabledObtiene o establece un valor que indica si el objeto MenuItem se encuentra habilitado, lo cual permite al elemento mostrar una imagen desplegable y cualquier elemento de menú secundario.
Propiedad públicaImageUrlObtiene o establece la dirección URL de la imagen que se muestra al lado del texto en un elemento de menú.
Propiedad públicaNavigateUrlObtiene o establece la dirección URL de destino al hacer clic en el elemento de menú.
Propiedad públicaParentObtiene el elemento de menú primario del elemento de menú actual.
Propiedad públicaPopOutImageUrlObtiene 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.
Propiedad públicaSelectableObtiene o establece un valor que indica si el objeto MenuItem se puede seleccionar haciendo clic sobre él.
Propiedad públicaSelectedObtiene o establece un valor que indica si el elemento de menú actual está seleccionado en un control Menu.
Propiedad públicaSeparatorImageUrlObtiene o establece la dirección URL de una imagen que se muestra en la parte inferior de un elemento de menú para separarlo de otros elementos de menú.
Propiedad públicaTargetObtiene 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ú.
Propiedad públicaTextObtiene o establece el texto mostrado para el elemento de menú en un control Menu.
Propiedad públicaToolTipObtiene o establece el texto de la información sobre herramientas para el elemento de menú.
Propiedad públicaValueObtiene o establece un valor que no se muestra en pantalla y que se utiliza para almacenar datos adicionales sobre el elemento de menú, tales como los datos utilizados para controlar los eventos de postback.
Propiedad públicaValuePathObtiene la ruta de acceso desde el elemento de menú raíz hasta el elemento de menú actual.
Arriba

  NombreDescripción
Método públicoEquals(Object)Determina si el objeto especificado es igual al objeto actual. (Se hereda de Object).
Método públicoGetHashCode Sirve como una función hash para un tipo en particular. (Se hereda de Object).
Método públicoGetType Obtiene el Type de la instancia actual. (Se hereda de Object).
Método públicoToString Retorna una cadena que representa al objeto actual. (Se hereda de Object).
Arriba

  NombreDescripción
Implementación explícita de interfacesMétodo privadoICloneable.CloneCrea una copia del objeto MenuItem actual.
Implementación explícita de interfacesPropiedad privadaIStateManager.IsTrackingViewStateInfraestructura. Obtiene un valor que indica si el objeto MenuItem está guardando los cambios en su estado de vista.
Implementación explícita de interfacesMétodo privadoIStateManager.LoadViewStateInfraestructura. Carga el estado de vista previamente guardado del elemento de menú.
Implementación explícita de interfacesMétodo privadoIStateManager.SaveViewStateInfraestructura. Guarda los cambios del estado de vista en un objeto Object.
Implementación explícita de interfacesMétodo privadoIStateManager.TrackViewStateInfraestructura. Indica al objeto MenuItem que efectúe el seguimiento de los cambios en su estado de vista.
Arriba

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

NotaNota

Las colecciones Items y ChildItems contienen sólo los elementos de menú del siguiente nivel inferior. Para obtener acceso a los elementos de menú situados más abajo en el árbol de menús, utilice la propiedad ChildItems de un elemento de menú subsiguiente.

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

Utilice la sintaxis declarativa para crear los elementos de menú estáticos.

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

Enlazar el control Menu a un origen de datos. Cuando el control Menu se enlaza a un control SiteMapDataSource, se crean automáticamente objetos MenuItem que corresponde a los elementos del origen de datos. Para otros orígenes de datos, también se crean automáticamente objetos MenuItem que se corresponden con la estructura jerárquica del origen de datos; sin embargo, también es necesario utilizar la colección DataBindings para definir los enlaces de los elementos 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 en un menú dinámico, dependiendo de su nivel. El menú estático siempre se muestra en un control Menu. De manera predeterminada, los elementos de menú del 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 propiedad StaticDisplayLevels. Los elementos de menú (si existe alguno) con un nivel más alto que el valor especificado por la propiedad StaticDisplayLevels se muestran en un submenú dinámico. Un submenú dinámico sólo aparece cuando el usuario coloca el puntero del mouse sobre el elemento del menú primario que contiene el submenú dinámico.

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

NotaNota

La propiedad Menu.Target afecta a cada elemento de menú del control. Para especificar una ventana o un marco para un elemento de menú individual, establezca directamente la propiedad Target del objeto MenuItem.

Cada elemento de menú tiene una propiedad Text y una propiedad Value. El valor de la propiedad Text se muestra en el control Menu, mientras que la propiedad Value se utiliza para almacenar cualquier información adicional sobre el elemento de menú, tal como los datos que se pasan al evento de postback asociado al elemento de menú. Si establece la propiedad Text, pero deja la propiedad Value sin establecer, la propiedad Value se establecerá automáticamente con el mismo valor que la propiedad Text. Lo contrario también se cumple. Si establece la propiedad Value, pero no la propiedad Text, la propiedad Text se establecerá automáticamente con el mismo valor que la propiedad Value.

NotaNota

Los elementos de menú situados en el mismo nivel de menú deben tener cada uno un valor único para la propiedad Value; el control Menu no puede distinguir entre diferentes elementos de menú del mismo nivel con el mismo valor. En este escenario, si el usuario hace clic en un elemento de menú que tiene un valor duplicado, el elemento de menú que resulta seleccionado es el que aparece primero.

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

Un control Menu posee varios tipos diferentes de elementos de menú. Puede controlar el estilo (por ejemplo, el tamaño y color de la fuente) de los diferentes tipos de elemento de menú mediante las propiedades de la tabla siguiente.

Propiedad de estilo del elemento de menú

Descripción

DynamicHoverStyle

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

DynamicMenuItemStyle

Configuración de estilo de un elemento de menú dinámico en particular.

DynamicMenuStyle

Configuración de estilo de un menú dinámico.

DynamicSelectedStyle

Configuración de estilo del elemento de menú dinámico seleccionado.

StaticHoverStyle

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

StaticMenuItemStyle

Configuración de estilo de un elemento de menú estático en particular.

StaticMenuStyle

Configuración de estilo de un menú estático.

StaticSelectedStyle

Configuración de estilo del elemento de menú estático seleccionado.

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

Colecciones de estilos para niveles

Descripción

LevelMenuItemStyles

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

LevelSelectedStyles

Colección de objetos MenuItemStyle que controlan el estilo, según su nivel, de los elementos de menú seleccionados.

LevelSubMenuStyles

Colección de objetos MenuItemStyle 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ú del primer nivel de profundidad del árbol de menús. El segundo estilo de la colección corresponde al estilo de los elementos de menú del segundo nivel de profundidad del árbol de menús, y así sucesivamente. Esto se suele utilizar frecuentemente para generar menús de navegación similares a tablas de contenido, donde los elementos de menú de una cierta profundidad deberían tener todos el mismo aspecto, independientemente de si tienen o no submenús.

NotaNota

Si utiliza cualquiera de las colecciones de estilos para niveles mostradas en la tabla anterior para definir el estilo del control Menu, estos valores de configuración de estilo reemplazan las propiedades de estilo de los elementos de menú individuales.

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

Propiedad de imagen

Descripción

ImageUrl

Imagen opcional que se muestra al lado del 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 control Menu, utilice la propiedad Selected. También puede determinar si un elemento de menú está enlazado a datos utilizando la propiedad DataBound. Si un elemento de menú está enlazado a datos, puede utilizar la propiedad DataItem para obtener 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.

TopicLocation
Tutorial: Controlar los menús de ASP.NET mediante programaciónGenerar aplicaciones Web ASP .NET en Visual Studio
Tutorial: Mostrar un menú en páginas WebGenerar aplicaciones Web ASP .NET en Visual Studio
Tutorial: Mostrar un menú en páginas WebGenerar aplicaciones con Visual Web Developer
Tutorial: Controlar los menús de ASP.NET mediante programaciónGenerar aplicaciones Web ASP .NET en Visual Studio
Tutorial: Controlar los menús de ASP.NET mediante programaciónGenerar aplicaciones Web ASP .NET en Visual Studio

El ejemplo siguiente muestra cómo llenar un control Menu con objetos MenuItem estáticos utilizando 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>



El ejemplo siguiente muestra cómo enlazar un control Menu a un control SiteMapDataSource. Cuando se enlaza a un origen de datos, el control Menu crea automáticamente los objetos MenuItem. Para que este ejemplo funcione correctamente, debe copiar los datos del 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>



A continuación se enumeran datos del mapa del sitio de muestra del 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

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft