MenuEventHandler Delegát
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje metodu MenuItemClick , která zpracovává událost nebo MenuItemDataBound událost Menu ovládacího prvku.
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álosti
A MenuEventArgs , který obsahuje data události.
Příklady
Následující příklad kódu ukazuje, jak použít MenuEventHandler delegáta programově zaregistrovat obslužnou rutinu MenuItemClick události pro událost Menu ovládacího prvku. 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.
<%@ 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 mapových dat webu pro předchozí příklad.
<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
Třída MenuEventHandler se používá k reprezentaci metody, která zpracovává události v následující tabulce.
Událost | Description |
---|---|
MenuItemClick | Vyvolá se při kliknutí na položku nabídky. Tato událost se běžně používá k synchronizaci Menu ovládacího prvku s jiným ovládacím prvek na stránce. |
MenuItemDataBound | Vyvolá se, když je položka nabídky svázaná s daty. Tato událost se běžně používá k úpravě položky nabídky před jejím vykreslení v ovládacím Menu prvku. |
Při vytváření delegáta MenuEventHandler identifikujete metodu, která bude zpracovávat událost. Pokud chcete událost přidružit k obslužné rutině události, přidejte do události instanci delegáta. Obslužná rutina události je volána při každém výskytu události, dokud neodeberete delegáta. Další informace o delegátech obslužné rutiny událostí najdete v tématu Zpracování a vyvolávání událostí.
Metody rozšíření
GetMethodInfo(Delegate) |
Získá objekt, který představuje metodu reprezentovanou zadaným delegátem. |