Поделиться через


Практическое руководство. Прием событий в приложениях Web Forms

Распространенным сценарием в приложениях Web Forms является заполнение веб-страницы элементами управления и последующее выполнение определенных действий в зависимости от того, какой элемент управления выбрал пользователь. К примеру, когда пользователь нажимает элемент управления System.Web.UI.WebControls.Button, расположенный на веб-странице, создается событие. При обработке событие, приложение может выполнить соответствующую логику приложения с нажатием этой кнопки.

Сведения о модели программирования Web Forms содержатся в разделе Программирование страниц Web Forms.

Для обработки нажатия кнопки на веб-странице выполните следующие действия.

  1. Создайте страницу Web Forms (страницу ASP.NET), содержащую элемент управления Button.

    <asp:Button id = "Button" Text = "Click Me" runat = server/>
    
  2. Определите обработчик событий, который соответствует сигнатуре делегата события Click. Событие Click использует класс EventHandler для типа делегата и класс EventArgs – для данных события.

  3. Установите в качестве значения атрибута OnClick элемента Button метод обработчика событий.

    <asp:Button
            id = "Button" OnClick = "Button_Click" Text = "Click Me" 
            runat = server/>
    
    ПримечаниеПримечание

    Как показано выше, разработчик приложения Web Forms может заставить событие работать декларативно, без непосредственного взаимодействия с делегатом.Платформа, на которой работает страница ASP.NET, генерирует код, создающий экземпляр EventHandler, который ссылается на событие Button_Click, и добавляет этот экземпляр делегата в событие Click экземпляра Button.

Пример

Следующая страница Web Forms обрабатывает событие Click элемента управления Button, изменяя фоновый цвет поля TextBox.

Примечание о безопасностиПримечание по безопасности

В данном примере используется текстовое поле для ввода пользовательских данных, что представляет потенциальную угрозу безопасности.По умолчанию данные, вводимые пользователем на веб-страницах ASP.NET, проверяются на наличие скриптов и HTML-элементов.Дополнительные сведения см. в разделе Общие сведения об использовании скриптов.

<html>
   <script language="VB" runat=server> 
      Private Sub Button_Click(sender As Object, e As EventArgs)
         Box.BackColor = System.Drawing.Color.LightGreen
      End Sub
   </script>
   <body> 
      <form method="POST" action="Events.aspx" runat=server>   
          Click the button, and notice the color of the text box.<br><br>
         <asp:TextBox 
         id = "Box" Text = "Hello" BackColor = "Cyan" runat=server/>             
         <br><br>       
        <asp:Button
        id = "Button" OnClick = "Button_Click" Text = "Click Me" 
        runat = server/>         
      </form>
   </body>
</html>
<html>
   <script language="C#" runat=server> 
      private void Button_Click(object sender, EventArgs e){
         Box.BackColor = System.Drawing.Color.LightGreen;
               }
   </script>
   <body> 
      <form method="POST" action="Events.aspx" runat=server>   
          Click the button, and notice the color of the text box.<br><br>
         <asp:TextBox 
         id = "Box" Text = "Hello" BackColor = "Cyan" runat=server/>             
         <br><br>       
        <asp:Button
        id = "Button" OnClick = "Button_Click" Text = "Click Me" 
        runat = server/>         
      </form>
   </body>
</html>

Компиляция кода

Чтобы узнать, как в Web Forms обрабатываются события, сохраните страницу-пример в файле с расширением .aspx (которое указывает на то, что файл является страницей ASP.NET) и поместите его в любом месте виртуального корневого каталога служб IIS.

См. также

Основные понятия

События и делегаты

Прием событий

Вызов события

Другие ресурсы

Обработка и вызов событий