Как добавить события страницы для ASP.NET в Visual Studio 2008

Это вопрос Visual Studio. Я чувствую, что со всем полезным Intellisense должно быть что-то, чтобы помочь, но я не могу найти это.

Я создал страницу с задним кодом в ASP.NET C # в VS2008, и она, конечно, автоматически генерирует метод события PageLoad. Ну, а если я захочу добавить методы для большего количества событий, кроме PageLoad? Я бы подумал, что на странице Foo.aspx будет список возможных обработчиков событий метода для добавления. Разве там больше не может быть, например, PageInit, PageDispose (или эквивалент) и т. Д ...? Где я могу найти их?

EDIT - я, конечно, могу посмотреть имена методов в API. Я ищу удобный ярлык, чтобы добавить их в Visual Studio. Если это порождает одно, не может ли оно создать другие?

Ответы на вопрос(6)

С бесценным ReSharper установлен (может работать без) я могу просто набрать:

override

и когда я нажимаю «пробел», IntelliSence выскакивает со списком всех событий, которые я могу переопределить, таких как OnInit, OnPreRender и т. д.

 David Carr16 авг. 2013 г., 23:21
В VS2010 у меня не установлен ReSharper, и, похоже, он все равно это делает. Я думаю, что это самый простой подход из всех упомянутых здесь до сих пор.
 Dave Cousineau19 февр. 2015 г., 17:47
Это работает, но между обработкой событий и переопределением методов On_ есть небольшие различия.

чтобы увидеть, что доступно, вы всегда можете просто набрать «Page». а затем взгляните на список в intellisense. Затем вы можете выбрать один, нажмите + = Tab Tab чтобы он создал заглушку для вас. после создания заглушки вам нужно будет удалить строку «Page.event + =», где бы вы ее ни создали. Это своего рода обходной путь, но он может работать довольно быстро, как только вы его освоите.

 McArthey03 окт. 2012 г., 16:05
Хоккей, но не пугай - работает быстро и легко запомнить. Благодарность
 Dave Cousineau19 февр. 2015 г., 17:56
Это хорошо работает. Поскольку событие обрабатывается из ссылки с именемPage, сгенерированный обработчик события случайно назван правильно, т.е.:Page_Load дляLoad мероприятие. Единственная сложность в том, что это должно быть сделано из "области действия метода", так как вы не можете получить доступ кPage свойство в области видимости класса.

нт управления (страница). Затем в поле со списком событий, которое находится справа от предыдущего поля со списком объектов, выберите нужное событие. Visual Studio создаст для вас обработчик событий.

В PageName.aspx.cs;

private void InitializeComponent()
{

    // this.LifeCycle += .. // Use intellisense to see alternatives easily
    this.PreRender += new System.EventHandler(this.EventFunctionName);

}

затем в тот же файл добавить:

private void EventFunctionName(object sender, EventArgs e)
{
    // Code..
}

UPDATE (из комментария Sahuagin): это не сгенерирует обработчик событий с соответствующим именем. Обработчик события должен быть назван, например, Page_Load. Он будет называться после вашего класса, а не после Page, и поэтому он не будет подключен к вашей странице

 Dave Cousineau19 февр. 2015 г., 17:55
Также, это не сгенерирует обработчик событий с соответствующим именем. Обработчик события должен быть назван, например,Page_Load. Это будет называться в честь вашего класса, а не послеPage, и поэтому он не будет подключен к вашей странице.
 Dave Cousineau19 февр. 2015 г., 18:18
Я изначально говорил, что обработчик события должен бытьprotected и нетprivate. Это может или не может быть необходимым в зависимости от ситуации.
 Thomas Fauskanger19 февр. 2015 г., 21:38
спасибо, я тоже добавил его в пост
Решение Вопроса
В обозревателе решений щелкните правой кнопкой мыши страницу и выберите «Просмотреть конструктор компонентов» в контекстном меню Откройте панель свойств / окно (нажмите F4) Теперь нажмите на желтую стрелку / значок вспышки, и вы увидите список всех событий на странице дважды щелкните событие, для которого вы хотите добавить обработчик

что был другой способ (начиная с точки зрения дизайнера), но я не могу его воспроизвести.

Я обычно не использую обработчики событий страницы, вместо этого я переопределяю соответствующие методы (например,OnLoad вместо тогоPage_Load). Чтобы реализовать одно из этих переопределений, вы можете просто ввести «переопределить» в коде позади и нажатьКосмо, чтобы получить список методов, которые вы можете переопределить.

 yu yang Jian05 июл. 2017 г., 17:50
Работает в VS2017!

treeviewid.node[0].childnodes[0].checked=true;

Это установит для дочернего узла значение true в событии загрузки страницы на странице

счастливое кодирование

 Dave Cousineau19 февр. 2015 г., 17:50
что? если я не ошибаюсь, это не имеет ничего общего с вопросом

Ваш ответ на вопрос