Как добавить события страницы для ASP.NET в Visual Studio 2008 - PullRequest
9 голосов
/ 26 июня 2009

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

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

РЕДАКТИРОВАТЬ - я, конечно, могу посмотреть имена методов в API. Я ищу удобный ярлык, чтобы добавить их в Visual Studio. Если оно порождает одно, не может ли оно заставить других?

Ответы [ 6 ]

26 голосов
/ 26 июня 2009
  • В обозревателе решений щелкните правой кнопкой мыши страницу и выберите «Просмотреть конструктор компонентов» в контекстном меню
  • открыть панель свойств / окно (нажмите F4 )
  • Теперь нажмите желтую стрелку / значок вспышки, и вы увидите список всех событий на странице
  • дважды щелкните событие, для которого вы хотите добавить обработчик

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

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

3 голосов
/ 26 июня 2009

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

override

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

3 голосов
/ 26 июня 2009

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

0 голосов
/ 03 августа 2013

TreeScheme.Nodes [0] .ChildNodes [0] .Checked = истина;

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

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

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

0 голосов
/ 25 февраля 2013

Если кто-то хочет использовать не способ, описанный M4N, а через код:

В 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..
}

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

0 голосов
/ 08 августа 2010

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

...