MenuEventHandler Делегат
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет метод, обрабатывающий MenuItemClick событие или MenuItemDataBound событие Menu элемента управления.
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)
Параметры
- sender
- Object
Источник события.
Объект, MenuEventArgs содержащий данные события.
Примеры
В следующем примере кода показано, как использовать MenuEventHandler делегат для программной MenuItemClick регистрации обработчика событий для Menu события элемента управления. Для правильной работы этого примера необходимо скопировать приведенные ниже данные карты сайта в файл с именем 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>
Ниже приведены примеры данных карты сайта для предыдущего примера.
<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>
Комментарии
Класс MenuEventHandler используется для представления метода, обрабатывающего события в следующей таблице.
| Событие | Description |
|---|---|
| MenuItemClick | Происходит при щелчке элемента меню. Это событие обычно используется для синхронизации Menu элемента управления с другим элементом управления на странице. |
| MenuItemDataBound | Происходит, когда элемент меню привязан к данным. Это событие обычно используется для изменения элемента меню перед отрисовкой в элементе Menu управления. |
При создании делегата MenuEventHandler вы определите метод, который будет обрабатывать событие. Чтобы связать событие с обработчиком событий, добавьте экземпляр делегата в событие. Обработчик событий вызывается всякий раз, когда происходит событие, если вы не удалите делегат. Дополнительные сведения о делегатах обработчика событий см. в разделе "Обработка и создание событий".
Методы расширения
| Имя | Описание |
|---|---|
| GetMethodInfo(Delegate) |
Возвращает объект, представляющий метод, представленный указанным делегатом. |