MenuEventHandler Delegát

Definice

Představuje metodu, která zpracovává MenuItemClick událost nebo MenuItemDataBound událost Menu ovládacího prvku.Represents the method that handles the MenuItemClick event or MenuItemDataBound event of a Menu control.

public delegate void MenuEventHandler(System::Object ^ sender, MenuEventArgs ^ e);
public delegate void MenuEventHandler(object sender, MenuEventArgs e);
type MenuEventHandler = delegate of obj * MenuEventArgs -> unit
Public Delegate Sub MenuEventHandler(sender As Object, e As MenuEventArgs)

Parametry

sender
Object

Zdroj událostiThe source of the event.

e
MenuEventArgs

Obsahující MenuEventArgs data události.A MenuEventArgs that contains the event data.

Příklady

Následující příklad kódu ukazuje, jak použít MenuEventHandler delegáta k programové registraci obslužné rutiny události pro MenuItemClick událost Menu ovládacího prvku.The following code example demonstrates how to use the MenuEventHandler delegate to programmatically register an event handler for the MenuItemClick event of a Menu control. Aby tento příklad fungoval správně, musíte zkopírovat ukázková data mapy webu níže do souboru s názvem Web. sitemap.For this example to work correctly, you must copy the sample site map data below to a file named 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">
<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 xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>MenuEventHandler Example</title>
</head>
<body>
    <form id="form1" 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>


<%@ 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)
    
    ' Create a new Menu control.
    Dim newMenu As 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. 
    AddHandler newMenu.MenuItemClick, AddressOf NavigationMenu_MenuItemClick

    ' Add the Menu control to the Controls collection
    ' of the PlaceHolder control.
    MenuPlaceHolder.Controls.Add(newMenu)
    
  End Sub

  Sub NavigationMenu_MenuItemClick(ByVal sender As Object, ByVal e As MenuEventArgs)

    ' Display the text of the menu item selected by the user.
    Message.Text = "You selected " & e.Item.Text & "."

  End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>MenuEventHandler Example</title>
</head>
<body>
    <form id="form1" 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>

Následuje ukázka dat mapy webu pro předchozí příklad.The following is sample site map data for the previous example.

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

Poznámky

MenuEventHandlerTřída se používá k reprezentaci metody, která zpracovává události v následující tabulce.The MenuEventHandler class is used to represent the method that handles the events in the following table.

UdálostEvent DescriptionDescription
MenuItemClick Vyvolá se při kliknutí na položku nabídky.Occurs when a menu item is clicked. Tato událost se běžně používá k synchronizaci Menu ovládacího prvku s jiným ovládacím prvkem na stránce.This event is commonly used to synchronize a Menu control with another control on the page.
MenuItemDataBound Vyvolá se v případě, že je položka nabídky svázána s daty.Occurs when a menu item is bound to data. Tato událost se běžně používá k úpravě položky nabídky předtím, než se vykreslí v Menu ovládacím prvku.This event is commonly used to modify a menu item before it is rendered in a Menu control.

Při vytváření MenuEventHandler delegáta identifikujete metodu, která událost zpracuje.When you create a MenuEventHandler delegate, you identify the method that will handle the event. Chcete-li přidružit událost k obslužné rutině události, přidejte do události instanci delegáta.To associate the event with your event handler, add an instance of the delegate to the event. Obslužná rutina události je volána při každém výskytu události, dokud neodeberete delegáta.The event handler is called whenever the event occurs, unless you remove the delegate. Další informace o delegátech obslužných rutin událostí naleznete v tématu manipulace a vyvolávání událostí.For more information about event-handler delegates, see Handling and Raising Events.

Metody rozšíření

GetMethodInfo(Delegate)

Získává objekt, který představuje metodu reprezentovanou zadaným delegátem.Gets an object that represents the method represented by the specified delegate.

Platí pro

Viz také