MenuEventHandler 委托
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示处理 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 用于表示处理下表中事件的方法。
事件 | 描述 |
---|---|
MenuItemClick | 单击菜单项时发生。 此事件通常用于将控件与页面上的另一 Menu 个控件同步。 |
MenuItemDataBound | 当菜单项绑定到数据时发生。 此事件通常用于在控件中 Menu 呈现菜单项之前对其进行修改。 |
创建 MenuEventHandler 委托时,需要标识将处理该事件的方法。 若要将事件与事件处理程序关联,请将该委托的一个实例添加到事件中。 除非移除了该委托,否则每当发生该事件时就会调用事件处理程序。 有关事件处理程序委托的详细信息,请参阅 处理和引发事件。
扩展方法
GetMethodInfo(Delegate) |
获取指示指定委托表示的方法的对象。 |