Есть ли в C # ключевое слово Handles? - PullRequest
5 голосов
/ 26 мая 2011
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)?

Ответы [ 5 ]

10 голосов
/ 26 мая 2011

Неа. Вам нужно будет подключить событие, как это

Menu1.MenuItemClick += Menu1_MenuItemClick;
4 голосов
/ 26 мая 2011

Это довольно легко настроить обработчики в C #. По моему варианту намного проще, чем в VB.Net. Вам нужно убедиться, что обработчик настроен на странице достаточно рано, чтобы его отключили. Просто введите имя объекта (Menu1). (название события) «+ =» и дважды нажмите вкладку. Visual Stuido сгенерирует все для вас.

3 голосов
/ 26 мая 2011

Вы должны назначить события самостоятельно, используя синтаксис +=.

1 голос
/ 26 мая 2011

Как правило, это верно в разметке.

<asp:Menu ID="Menu1" runat="server" onmenuitemclick="Menu1_MenuItemClick"></asp:Menu>

и в коде это выглядит как

protected void Menu1_MenuItemClick(object sender, MenuEventArgs e)
{

}

Вы можете сгенерировать все это в Visual Studio от дизайнера. Выберите элемент управления меню, перейдите в окно свойств (f4), просмотрите список событий (удар молнии) и дважды щелкните имя события.

Вы также можете подписать обработчик событий вручную с помощью +=, но вы должны делать это каждый раз, когда загружается страница.

0 голосов
/ 02 августа 2011

Если вы не возражаете против этого, вы всегда можете установить для AutoEventWireUp значение «true». Затем C # автоматически свяжет обработчики событий с именами «VB».

...