2016-07-09 2 views
0

Я - разработчик VB.NET, пытающийся изучить C# в свободное время. См. Код ниже:Обработка жизненных циклов страницы

public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
      this.Load += Form1_Load;//event handler code 
     } 

     private void Form1_Load(object sender, EventArgs e) 
     { 
      string test = "got here"; 
     } 

    } 

Это приложение Windows Form. Если я добавлю код обработчика события в конструктор, тогда Form1_Load обрабатывает событие загрузки.

Теперь посмотрим приложение Web Forms ниже:

public partial class _Default : Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      string s = "got here"; 
     } 
    } 

Page_Load вызывается без какого-либо кода обработчика событий?

Мой вопрос: Являются ли события жизненного цикла страницы автоматически связанными с именами функций, например. Page_Load автоматически обрабатывает загрузку страницы в C# ASP.NET? Почему это не относится к Windows Forms? Где вы помещаете код обработчика событий в формы Windows? .designer?

+0

Мое мнение, начните изучать asp.net для сети, как будто вы ничего не знаете о программировании на рабочем столе - и не пытайтесь сравнивать эти два ... идея совершенно другая. – Aristos

+1

«... в свободное время» - сделайте себе одолжение и пропустите WebForms. Перейдите к http://asp.net и учебникам MVC. –

+1

Если вы собираетесь изучать новую технологию, не изучайте ту, которая выходит из двери. @HenkHolterman имеет правильную идею - изучить ASP.NET MVC и идти в ногу с современными методами развития. – mason

ответ

1

В Asp.Net вы можете установить значение AutoEventWireup. Пожалуйста, проверьте эту статью https://support.microsoft.com/en-us/kb/324151

Однако, когда мне нужно обработать событие, самый простой способ для меня собирается в представлении источника ASPX, найти управление runatserver и указать свой обработчик там. Например:

<asp:TextBox ID="txtCustomer" runat="server" /> 

Как вы тип «на ...» в списке событий показаны (события идентифицируются луч значок), выберите OnLoad и Создать.

<asp:TextBox ID="txtCustomer" OnLoad="txtCustomer_Load" runat="server" /> 

Теперь перейдите в свой код cs за файлом, и вы увидите, что по умолчанию был создан обработчик по умолчанию.

protected void txtCustomer_Load(object sender, EventArgs e) 
{ 

} 

Еще один вариант - создать дизайн, щелкнуть правой кнопкой мыши по элементу управления и перейти к свойствам. Нажмите значок луча и добавьте обработчик.

0

Winform не активирует событие пожара как Asp.Net, потому что winform не имеет жизненного цикла страницы. Чтобы обработать событие в winform, вы выбираете компонент в режиме разработки. Посмотрите на правую панель, вы увидите вкладку событий. Здесь много событий. Дважды щелкните, чтобы обработать его.

Смежные вопросы