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中)?
答案 0 :(得分:10)
不。你必须像这样连接事件
Menu1.MenuItemClick += Menu1_MenuItemClick;
答案 1 :(得分:4)
在C#中很容易设置处理程序。在我的选项中比VB.Net容易得多。 您需要确保处理程序在页面中尽早设置才能被解雇。 只需输入对象名称(Menu1)即可。 (事件的名称)“+ =”并点击两次选项卡。 Visual Stuido将为您生成一切。
答案 2 :(得分:3)
您必须使用+=
语法自行分配事件。
答案 3 :(得分:1)
通常这在标记中是正确的。
<asp:Menu ID="Menu1" runat="server" onmenuitemclick="Menu1_MenuItemClick"></asp:Menu>
在代码隐藏中它看起来像
protected void Menu1_MenuItemClick(object sender, MenuEventArgs e)
{
}
您可以从设计器中在Visual Studio中生成所有这些内容。选择菜单控件,转到属性窗口(f4),查看事件列表(闪电)并双击事件名称。
您还可以使用+=
手动订阅事件处理程序,但每次加载页面时都必须这样做。
答案 4 :(得分:0)
如果你不介意这样做,你可以随时将AutoEventWireUp设置为“true”。然后C#将自动将事件处理程序与“VB”名称绑定。