ASP.Net OnClick по сравнению с Функцией () Дескрипторы buttonName. Нажать

Инструменты-> Опции-> Текстовый редактор-> Все языки. Около нижней части.

5
задан Erik Ahlswede 6 July 2009 в 19:36
поделиться

4 ответа

По крайней мере, в первом варианте сгенерированный класс для страницы .aspx отвечает за подключение обработчика событий (и, таким образом, требует, чтобы обработчик событий был Защищен ); тогда как во втором варианте класс программной части отвечает за подключение обработчика событий (так что обработчик событий может быть Private ).

Я не знаю, как именно обрабатывает Ключевое слово реализовано в VB.NET, но оно также может повлиять на синхронизацию подключения (я знаю, что подключение события в методе OnInit программной части подключает метод в другом время в цикле страницы, чем проводка его через разметку, и несколько неясных случаев, когда это имеет значение).

Я лично, предпочтительнее использовать метод Handles (или использовать + = в C # в переопределении OnInit ). Это позволяет компилятору проверять, существуют ли методы и не должны быть без надобности открыты для наследующих классов. Компиляция также помогает при использовании инструментов рефакторинга, поиске использования и т. Д.

9
ответ дан 13 December 2019 в 22:14
поделиться

Заметной разницы нет. Оба они эквивалентны использованию ключевого слова AddHandler . Использование атрибута OnClick больше совместимо с кодом ASP.NET, который может использовать C #, а использование ключевого слова Handles более совместимо с кодом Windows Forms VB.NET.

1
ответ дан 13 December 2019 в 22:14
поделиться

В обоих добавлен обработчик событий. Дескрипторы доступны в VB.Net, а не в C #.

Кроме того,

0
ответ дан 13 December 2019 в 22:14
поделиться

The first one is an example of how pages using c# code behind register the event to the function. This one then needs a method matching the definition.

The second one is the vb.net way of attaching the event to a function.

0
ответ дан 13 December 2019 в 22:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: