Exporter (0) Imprimer
Développer tout
Développer Réduire

MenuEventHandler, délégué

Remarque : ce délégué est nouveau dans le .NET Framework version 2.0.

Représente la méthode qui gère l'événement MenuItemClick ou l'événement MenuItemDataBound d'un contrôle Menu.

Espace de noms : System.Web.UI.WebControls
Assembly : System.Web (dans system.web.dll)

public delegate void MenuEventHandler (
	Object sender,
	MenuEventArgs e
)
/** @delegate */
public delegate void MenuEventHandler (
	Object sender, 
	MenuEventArgs e
)
JScript prend en charge l'utilisation de délégués mais pas la déclaration de nouveaux délégués.

Paramètres

sender

Source de l'événement.

e

MenuEventArgs qui contient les données d'événement.

La classe MenuEventHandler permet de représenter la méthode qui gère les événements du tableau suivant.

Événement

Description

MenuItemClick

Se produit suite à un clic sur un élément de menu. Cet événement est utilisé couramment pour synchroniser un contrôle Menu avec un autre contrôle de la page.

MenuItemDataBound

Se produit lorsqu'un élément de menu est lié à des données. Cet événement est utilisé couramment pour modifier un élément de menu avant qu'il soit rendu dans un contrôle Menu.

Lorsque vous créez un délégué MenuEventHandler, vous identifiez la méthode qui gérera l'événement. Pour associer l'événement au gestionnaire d'événements, ajoutez une instance du délégué à l'événement. Le gestionnaire d'événements est appelé chaque fois qu'un événement se produit, sauf si vous supprimez le délégué. Pour plus d'informations sur les délégués de gestionnaires d'événements, consultez Événements et délégués.

L'exemple de code suivant montre comment utiliser le délégué MenuEventHandler pour enregistrer par programme un gestionnaire d'événements pour l'événement MenuItemClick d'un contrôle Menu. Pour que cet exemple fonctionne, vous devez copier les données du plan de site ci-dessous dans un fichier nommé Web.sitemap.


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

<script runat="server">
    
  void Page_Load(Object sender, EventArgs e)
  {
    
    // Create a new Menu control.
    Menu newMenu = new Menu();
          
    // Set the properties of the Menu control.
    newMenu.ID = "NavigationMenu";
    newMenu.Orientation = Orientation.Vertical;
    newMenu.Target = "_blank";

    // Specify the data source for the menu.
    newMenu.DataSourceID = "MenuSource";

    // Programmatically register the event-handling method
    // for the MenuItemClick event of a Menu control. 
    newMenu.MenuItemClick += new MenuEventHandler(this.NavigationMenu_MenuItemClick);

    // Add the Menu control to the Controls collection
    // of the PlaceHolder control.
    MenuPlaceHolder.Controls.Add(newMenu);
    
  }

  void NavigationMenu_MenuItemClick(Object sender, MenuEventArgs e)
  {

    // Display the text of the menu item selected by the user.
    Message.Text = "You selected " + e.Item.Text + ".";

  }

</script>

<html>
  <body>
    <form runat="server">
    
      <h3>MenuEventHandler Example</h3>
    
      <asp:placeholder id="MenuPlaceHolder"
        runat="server"/>
        
      <asp:sitemapdatasource id="MenuSource"
        runat="server"/>
        
      <hr/>
      
      <asp:label id="Message"
        runat="server"/>  

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


Ceci est un exemple de données de plan de site de l'exemple précédent.

<siteMap>

<siteMapNode title="Home"

description="Home">

<siteMapNode title="Music"

description="Music">

<siteMapNode title="Classical"

description="Classical"/>

<siteMapNode title="Rock"

description="Rock"/>

<siteMapNode title="Jazz"

description="Jazz"/>

</siteMapNode>

<siteMapNode title="Movies"

description="Movies">

<siteMapNode title="Action"

description="Action"/>

<siteMapNode title="Drama"

description="Drama"/>

<siteMapNode title="Musical"

description="Musical"/>

</siteMapNode>

</siteMapNode>

</siteMap>

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft