Лекция: Серверные элементы управления HTML
Серверные элементы управления (СЭУ) HTML — элементы языка разметки гипертекста (HTML), которые включают runat = server атрибут.
По умолчанию HTML-элементы в файле ASP.NET рассматриваются как обычный текст, и на них нельзя ссылаться в коде на стороне сервера. Чтобы сделать эти элементы программно доступными, можно указать, что HTML-элемент должен рассматриваться как СЭУ. Для этого следует добавить атрибут runat=«server». Можно также задать атрибут id ЭУ, чтобы получить возможность программно ссылаться на ЭУ. Затем нужно установить атрибуты для объявления аргументов свойства и связи с событиями в экземплярах серверного элемента управления. Серверные HTML-элементы управления должны располагаться во внешнем теге form, имеющем атрибут runat=«server».
Преимущества:
Отображаются один к одному с их соответствующими HTML-тегами.
При компиляции приложения ASP.NET, СЭУ HTML компилируются в сборки.
Большинство ЭУ включают OnServerEvent для наиболее часто используемых событий. Например < input type = button > у события OnServerClick элемента управления.
По-прежнему можно использовать теги HTML, но они не реализованы как конкретные СЭУ HTML на стороне сервера; тем не менее они добавляются в сборку как HtmlGenericControl.
Базовый класс System.Web.UI.HtmlControls.HtmlControl содержит все общие свойства. Серверные элементы управления HTML являются производными от этого класса.
Пример кода HTML для кнопки на форме: <asp:Button ID=«Button1» runat=«server» Text=«Button» />
Здесь атрибут runat=«server» означает, что ЭУ, для которого использован такой атрибут, становится доступным из программного кода в файле codebehind, а на события этого элемента управления реагирует сервер. Если этот атрибут убрать, то ЭУ станет обычным элементом управления HTML.
Отличия СЭУ ASP.NET от обычных ЭУ HTML:
— в ответ на события СЭУ(например, на нажатие кнопки) срабатывает событийная процедура на сервере, в которой можно определить любой требуемый код. При этом работа с СЭУ основана на стандартной модели событий для этих элементов, что делает ее очень похожей на работу с ЭУ Windows: например, используются те же события Click, Load и т.п.;
— в коде HTML для СЭУ используется префикс пространства имен XML, который выглядит как asp. Например: <asp:TextBox ID=«TextBox1» runat=«server»></asp:TextBox>;
— для СЭУ обязательно сохраняется информация о состоянии. Отличия наглядно видны при обновлении страницы. Для СЭУ установленные пользователем значения по умолчанию сохранятся, а для обычных ЭУ HTML будут загружены исходные значения;
— СЭУ автоматически определяют тип и версию браузера и генерируют подходящий для него код. В резульате снижается потребность в тестировании и разработке разных версий страниц под разные версии браузеров.
Наиболее часто используемые СЭУ:
HtmlAnchor — гипер-ссылка
HtmlBotton — кнопка
HtmlForm — форма страницы
HtmlImage — графическое изображение
HtmlTable — элемент управления «Таблица»