Практическое руководство. Прием событий в приложениях Web Forms
Распространенным сценарием в приложениях Web Forms является заполнение веб-страницы элементами управления и последующее выполнение определенных действий в зависимости от того, какой элемент управления выбрал пользователь. К примеру, когда пользователь нажимает элемент управления System.Web.UI.WebControls.Button, расположенный на веб-странице, создается событие. При обработке событие, приложение может выполнить соответствующую логику приложения с нажатием этой кнопки.
Сведения о модели программирования Web Forms содержатся в разделе Программирование страниц Web Forms.
Для обработки нажатия кнопки на веб-странице выполните следующие действия.
Создайте страницу Web Forms (страницу ASP.NET), содержащую элемент управления Button.
<asp:Button id = "Button" Text = "Click Me" runat = server/>
Определите обработчик событий, который соответствует сигнатуре делегата события Click. Событие Click использует класс EventHandler для типа делегата и класс EventArgs – для данных события.
Установите в качестве значения атрибута 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.