Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto manualmente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale.
Traduzione
Originale

Classe MenuItem

Rappresenta una voce di menu visualizzata nel controllo Menu. Questa classe non può essere ereditata.

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

Spazio dei nomi:  System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)

public sealed class MenuItem : IStateManager, 
	ICloneable

Il tipo MenuItem espone i seguenti membri.

  NomeDescrizione
Metodo pubblicoMenuItem()Inizializza una nuova istanza della classe MenuItem senza testo o valore per il menu.
Metodo pubblicoMenuItem(String)Inizializza una nuova istanza della classe MenuItem utilizzando il testo di menu specificato.
Metodo pubblicoMenuItem(String, String)Inizializza una nuova istanza della classe MenuItem utilizzando il testo e il valore di menu specificati.
Metodo pubblicoMenuItem(String, String, String)Inizializza una nuova istanza della classe MenuItem utilizzando il testo e il valore di menu e l'URL di un'immagine specificati.
Metodo pubblicoMenuItem(String, String, String, String)Inizializza una nuova istanza della classe MenuItem utilizzando il testo e il valore di menu, l'URL di un'immagine e l'URL di spostamento specificati.
Metodo pubblicoMenuItem(String, String, String, String, String)Inizializza una nuova istanza della classe MenuItem utilizzando il testo e il valore di menu, l'URL di un'immagine, l'URL di spostamento e la destinazione specificati.
In alto

  NomeDescrizione
Proprietà pubblicaChildItemsOttiene un oggetto MenuItemCollection contenente le voci di sottomenu della voce di menu corrente.
Proprietà pubblicaDataBoundOttiene un valore che indica se la voce di menu è stata creata tramite associazione dati.
Proprietà pubblicaDataItemOttiene l'elemento di dati associato alla voce di menu.
Proprietà pubblicaDataPathOttiene il percorso dei dati associati alla voce di menu.
Proprietà pubblicaDepthOttiene il livello a cui viene visualizzata una voce di menu.
Proprietà pubblicaEnabledOttiene o imposta un valore che indica se l'oggetto MenuItem è abilitato, consentendo all'elemento di visualizzare un'immagine popout e le eventuali voci di menu figlio.
Proprietà pubblicaImageUrlOttiene o imposta l'URL di un'immagine visualizzata accanto al testo di una voce di menu.
Proprietà pubblicaNavigateUrlOttiene o imposta l'URL a cui passare quando viene selezionata la voce di menu.
Proprietà pubblicaParentOttiene la voce di menu padre della voce di menu corrente.
Proprietà pubblicaPopOutImageUrlOttiene o imposta l'URL di un'immagine visualizzata in una voce di menu per indicare che la voce di menu dispone di un sottomenu dinamico.
Proprietà pubblicaSelectableOttiene o imposta un valore che indica se l'oggetto MenuItem può essere selezionato, ovvero se è possibile fare clic su di esso.
Proprietà pubblicaSelectedOttiene o imposta un valore che indica se la voce di menu corrente è selezionata in un controllo Menu.
Proprietà pubblicaSeparatorImageUrlOttiene o imposta l'URL di un'immagine visualizzata nella parte inferiore di una voce di menu per separarla da altre voci di menu.
Proprietà pubblicaTargetOttiene o imposta la finestra o il frame di destinazione in cui visualizzare il contenuto della pagina Web associato a una voce di menu.
Proprietà pubblicaTextOttiene o imposta il testo visualizzato per la voce di menu in un controllo Menu.
Proprietà pubblicaToolTipOttiene o imposta il testo della descrizione comando della voce di menu.
Proprietà pubblicaValueOttiene o imposta un valore non visualizzato utilizzato per archiviare dati aggiuntivi relativi alla voce di menu, ad esempio i dati utilizzati per la gestione degli eventi di postback.
Proprietà pubblicaValuePathOttiene il percorso dalla voce di menu radice alla voce di menu corrente.
In alto

  NomeDescrizione
Metodo pubblicoEquals(Object)Determina se l'oggetto Object specificato è uguale all'oggetto Object corrente. (Ereditato da Object)
Metodo protettoFinalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che l'oggetto stesso venga reclamato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblicoGetHashCodeFunge da funzione hash per un determinato tipo. (Ereditato da Object)
Metodo pubblicoGetType Ottiene il Type dell'istanza corrente. (Ereditato da Object)
Metodo protettoMemberwiseClone Crea una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblicoToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
In alto

  NomeDescrizione
Implementazione esplicita dell'interfacciaMetodo privatoICloneable.CloneCrea una copia dell'oggetto MenuItem corrente.
Implementazione esplicita dell'interfacciaProprietà privataIStateManager.IsTrackingViewStateInfrastruttura. Ottiene un valore che indica se l'oggetto MenuItem salva le modifiche apportate al relativo stato di visualizzazione.
Implementazione esplicita dell'interfacciaMetodo privatoIStateManager.LoadViewStateInfrastruttura. Carica lo stato di visualizzazione precedentemente salvato della voce di menu.
Implementazione esplicita dell'interfacciaMetodo privatoIStateManager.SaveViewStateInfrastruttura. Salva le modifiche apportate allo stato di visualizzazione in un oggetto Object.
Implementazione esplicita dell'interfacciaMetodo privatoIStateManager.TrackViewStateInfrastruttura. Indica all'oggetto MenuItem di tenere traccia delle modifiche apportate allo stato di visualizzazione.
In alto

Un controllo Menu è costituito da una gerarchia di voci di menu rappresentate da oggetti MenuItem. Ciascuna voce di menu è associata a una proprietà Depth in sola lettura che specifica a quale livello viene visualizzata la voce di menu nel controllo Menu. Le voci di menu del livello più alto (livello 0) che non dispongono di una voce di menu padre sono denominate voci di menu radice. Una voce di menu con una voce di menu padre è denominata voce di sottomenu. Tutte le voci di menu radice sono archiviate nell'insieme Items. Le voci di sottomenu sono archiviate nell'insieme ChildItems di una voce di menu padre. Per accedere alla voce di menu padre di una voce di menu, utilizzare la proprietà Parent.

NotaNota

Gli insiemi Items e ChildItems contengono solo le voci di menu relative al livello inferiore immediatamente successivo. Per accedere alle voci di menu di livelli ancora inferiori nella struttura ad albero di menu, utilizzare la proprietà ChildItems di una voce di menu successiva.

Per creare le voci di menu per un controllo Menu, procedere in uno dei seguenti modi:

Utilizzare la sintassi dichiarativa per creare voci di menu statico.

Utilizzare un costruttore per creare nuove istanze della classe MenuItem in modo dinamico. Questi oggetti MenuItem possono quindi essere aggiunti all'insieme Items o ChildItems.

Associazione di un controllo Menu a un'origine dati. Quando il controllo Menu è associato a un controllo SiteMapDataSource, vengono creati automaticamente oggetti MenuItem che corrispondono alle voci dell'origine dati. Anche per le altre origini dati vengono creati automaticamente oggetti MenuItem che corrispondono alla struttura gerarchica dell'origine dati. È tuttavia necessario utilizzare anche l'insieme DataBindings per definire le associazioni di voci di menu che specificano la relazione di associazione tra una voce di menu e l'elemento di dati corrispondente.

Le voci di menu vengono visualizzate in un menu statico o dinamico, a seconda del livello. Il menu statico viene visualizzato sempre in un controllo Menu. Per impostazione predefinita, le voci di menu del livello più alto (livello 0) vengono visualizzate nel menu statico. È possibile visualizzare ulteriori livelli di menu (sottomenu statici) all'interno del menu statico impostando la proprietà StaticDisplayLevels. Le eventuali voci di menu di un livello superiore rispetto al valore specificato dalla proprietà StaticDisplayLevels vengono visualizzate in un sottomenu dinamico. I sottomenu dinamici vengono visualizzati solo se l'utente posiziona il puntatore del mouse sulla voce di menu padre contenente un sottomenu dinamico.

Quando l'utente seleziona una voce di menu, il controllo Menu può spostarsi su una pagina Web collegata o semplicemente eseguire il postback al server. Se la proprietà NavigateUrl di una voce di menu è impostata, il controllo Menu si sposta sulla pagina collegata; in caso contrario, esegue il postback della pagina al server per l'elaborazione. Per impostazione predefinita, una pagina collegata viene visualizzata nella stessa finestra o nello stesso frame del controllo Menu. Per visualizzare il contenuto collegato in una finestra o in un frame diverso, utilizzare la proprietà Target del controllo Menu.

NotaNota

La proprietà Menu.Target ha effetto su tutte le voci di menu del controllo. Per specificare una finestra o un frame per una singola voce di menu, impostare direttamente la proprietà Target dell'oggetto MenuItem.

Ogni voce di menu dispone di una proprietà Text e di una proprietà Value. Il valore della proprietà Text viene visualizzato nel controllo Menu, mentre la proprietà Value viene utilizzata per archiviare eventuali ulteriori dati relativi alla voce di menu, ad esempio i dati passati all'evento di postback associato alla voce di menu. Se si imposta la proprietà Text senza impostare però la proprietà Value, la proprietà Value viene impostata automaticamente sullo stesso valore della proprietà Text e viceversa. Se si imposta la proprietà Value senza impostare la proprietà Text, la proprietà Text viene impostata automaticamente sullo stesso valore della proprietà Value.

NotaNota

La proprietà Value di ciascuna voce di menu dello stesso livello deve essere impostata su un valore univoco. Il controllo Menu infatti non è in grado di distinguere le diverse voci di menu dello stesso livello se hanno lo stesso valore. In questo caso, se l'utente seleziona la voce di menu con un valore duplicato, viene selezionata la voce di menu elencata per prima nel menu.

Per visualizzare una descrizione comando quando l'utente posiziona il puntatore del mouse su una voce di menu, impostare la proprietà ToolTip della voce di menu.

Un controllo Menu può disporre di diversi tipi di voci di menu. È possibile definire lo stile, ad esempio le dimensioni e il colore del carattere, dei diversi tipi di voci di menu utilizzando le proprietà elencate nella tabella riportata di seguito.

Proprietà di stile della voce di menu

Oggetto di descrizione

DynamicHoverStyle

Impostazioni di stile di una voce di menu dinamico quando il puntatore del mouse viene posizionato su di essa.

DynamicMenuItemStyle

Impostazioni di stile di una singola voce di menu dinamico.

DynamicMenuStyle

Impostazioni di stile di un menu dinamico.

DynamicSelectedStyle

Impostazioni di stile della voce di menu dinamico attualmente selezionata.

StaticHoverStyle

Impostazioni di stile di una voce di menu statico quando il puntatore del mouse viene posizionato su di essa.

StaticMenuItemStyle

Impostazioni di stile di una singola voce di menu statico.

StaticMenuStyle

Impostazioni di stile di un menu statico.

StaticSelectedStyle

Impostazioni di stile della voce di menu statico attualmente selezionata.

Anziché impostare le singole proprietà di stile, è possibile specificare stili da applicare alle voci di menu in base al livello utilizzando gli insiemi di stili elencati nella tabella riportata di seguito.

Insiemi di stili di livello

Oggetto di descrizione

LevelMenuItemStyles

Insieme di oggetti MenuItemStyle che controllano lo stile delle voci di menu in base al livello.

LevelSelectedStyles

Insieme di oggetti MenuItemStyle che controllano lo stile delle voci di menu selezionate in base al livello.

LevelSubMenuStyles

Insieme di oggetti MenuItemStyle che controllano lo stile delle voci di sottomenu in base al livello.

Il primo stile dell'insieme corrisponde allo stile delle voci di menu al primo livello di profondità nella struttura ad albero di menu. Il secondo stile dell'insieme corrisponde allo stile delle voci di menu al secondo livello di profondità della struttura ad albero di menu e così via. Questo sistema viene utilizzato il più delle volte per generare menu di spostamento stile sommario in cui le voci di menu a una determinata profondità devono avere lo stesso aspetto, indipendentemente dal fatto che dispongano di sottomenu.

NotaNota

Se si utilizza uno degli insiemi di stili di livello elencati nella tabella precedente per definire lo stile del controllo Menu, queste impostazioni di stile eseguiranno l'override delle proprietà di stile delle singole voci di menu.

Oltre a personalizzare lo stile di una voce di menu, è anche possibile personalizzarne l'aspetto. È infatti possibile specificare immagini personalizzate per le diverse parti di una voce di menu impostando le proprietà elencate nella tabella riportata di seguito.

Proprietà dell'immagine

Oggetto di descrizione

ImageUrl

Immagine facoltativa visualizzata accanto al testo di una voce di menu.

PopOutImageUrl

Immagine facoltativa visualizzata in una voce di menu per indicare che dispone di un sottomenu dinamico.

SeparatorImageUrl

Immagine facoltativa visualizzata nella parte inferiore di una voce di menu per separarla da altre voci di menu.

Per determinare se una voce di menu è attualmente selezionata in un controllo Menu, utilizzare la proprietà Selected. È anche possibile determinare se una voce di menu è associata a dati utilizzando la proprietà DataBound. Se una voce di menu è associata a dati, è possibile utilizzare la proprietà DataItem per accedere ai valori dell'elemento di dati associato alla voce di menu.

Per un elenco dei valori iniziali delle proprietà di un'istanza della classe MenuItem, vedere il costruttore MenuItem.

TopicLocation
Procedura dettagliata: controllo del menu a livello di codice di ASP.NETGenerazione di applicazioni Web ASP.NET in Visual Studio
Procedura dettagliata: visualizzazione di un menu in pagine WebGenerazione di applicazioni Web ASP.NET in Visual Studio
Procedura dettagliata: visualizzazione di un menu in pagine WebCompilazione di applicazioni con Visual Web Developer
Procedura dettagliata: controllo del menu a livello di codice di ASP.NETCompilazione di applicazioni Web ASP.NET in Visual Studio
Procedura dettagliata: controllo del menu a livello di codice di ASP.NETCompilazione di applicazioni Web ASP.NET in Visual Studio

Nell'esempio riportato di seguito viene illustrato come inserire in un controllo Menu oggetti MenuItem statici utilizzando la sintassi dichiarativa.



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



Nell'esempio riportato di seguito viene illustrato come associare un controllo Menu a un controllo SiteMapDataSource. Dopo essere stato associato a un'origine dati, il controllo Menu crea automaticamente gli oggetti MenuItem. Perché questo esempio funzioni correttamente, è necessario copiare i dati della mappa del sito di esempio seguente in un file denominato 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>



Di seguito sono riportati i dati della mappa del sito di esempio per l'esempio precedente.

<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

Supportato in: 4, 3.5, 3.0, 2.0

Windows 7, Windows Vista SP1 o versione successiva, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (componenti di base del server non supportati), Windows Server 2008 R2 (componenti di base del server supportati con SP1 o versione successiva), Windows Server 2003 SP2

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Aggiunte alla community

AGGIUNGI
Mostra:
© 2014 Microsoft