Практическое руководство. Отклик на изменения в серверном веб-элементе управления TextBox
Обновлен: Ноябрь 2007
Когда пользователь после ввода сведений покидает серверный веб-элемент управления TextBox, элемент управления вызывает событие, на которое можно ответить.
Примечание. |
---|
Серверный веб-элемент управления TextBox не вызывает событие при каждом нажатии клавиши. Событие возникает, только когда пользователь покидает элемент управления. Можно задать, чтобы элемент управления TextBox создавал клиентские события, обрабатываемые в клиентском сценарии, что может оказаться полезным для отклика на отдельные нажатия клавиш. Дополнительные сведения см. в разделе Клиентский сценарий на веб-страницах ASP.NET. |
Отклик на изменения в элементе управления TextBox
Создайте обработчик для события TextChanged элемента управления TextBox.
По умолчанию событие TextChanged не приводит к немедленной отправке на сервер страницы Web Forms. Вместо этого серверный код создает событие во время следующей отправки формы. Чтобы событие TextChanged приводило к немедленной отправке, присвойте свойству AutoPostBack элемента управления TextBox значение true.
Примечание. Чтобы элемент управления TextBox мог выполнять отправку на сервер при его выборе, необходимо, чтобы обозреватель поддерживал ECMAScript (JScript, JavaScript). Кроме того, необходимо разрешить сценарии в обозревателе пользователя.
В следующем примере кода показан способ отклика на изменения в элементе управления TextBox. Этот код позволяет отобразить содержимое элемента управления в метке.
Примечание о безопасности. Данные, вводимые пользователем на странице Web Forms, могут содержать потенциально опасный для клиента сценарий. По умолчанию на странице Web Forms проверяется ввод пользователя на наличие сценариев или элементов HTML. Дополнительные сведения см. в разделе Практическое руководство. Защита от использования сценариев в веб-приложениях с помощью применения кодирования HTML к строкам.
Protected Sub TextBox1_TextChanged(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles TextBox1.TextChanged Label1.Text = Server.HtmlEncode(TextBox1.Text) End Sub
protected void TextBox1_TextChanged(object sender, EventArgs e) { Label1.Text = Server.HtmlEncode(TextBox1.Text); }