问题描述
|
Protected Sub Menu1_MenuItemClick(ByVal sender As Object,ByVal e As System.Web.UI.WebControls.MenuEventArgs) Handles Menu1.MenuItemClick
End Sub
在VB.net中,我们有Handles关键字,我想知道C#是否具有可比较的功能。还是必须手动将所有方法连接到每个控件的事件(尤其是在ASP.NET中)?
解决方法
不。您将必须像这样组织活动
Menu1.MenuItemClick += Menu1_MenuItemClick;
,在C#中设置处理程序非常容易。在我看来,比VB.Net容易得多。
您需要确保处理程序在页面中足够早地设置好才能被解雇。
只需输入对象名称(Menu1)即可。 (事件的名称)\“ + = \”,然后按两次制表符。 Visual Stuido将为您生成一切。
,您必须使用+=
语法自行分配事件。
,通常,这在标记中正确。
<asp:Menu ID=\"Menu1\" runat=\"server\" onmenuitemclick=\"Menu1_MenuItemClick\"></asp:Menu>
在后面的代码中
protected void Menu1_MenuItemClick(object sender,MenuEventArgs e)
{
}
您可以从设计器在Visual Studio中生成所有这些。选择菜单控件,转到属性窗口(f4),查看事件列表(闪电),然后双击事件名称。
您也可以使用+=
手动预订事件处理程序,但是每次页面加载时都必须这样做。
,如果您不介意这样做,则可以始终将AutoEventWireUp设置为\“ true \”。然后C#将自动使用\“ VB \”名称绑定事件处理程序。