Общие сведения о серверных веб-элементах управления ASP.NET
Обновлен: Ноябрь 2007
При создании веб-страниц ASP.NET можно использовать следующие типы элементов управления:
Серверные HTML-элементы управления. Используемые на сервере HTML-элементы, которые можно запрограммировать. Серверные HTML-элементы управления предоставляют объектную модель, строго соответствующую воспроизводимым ими HTML-элементам.
Серверные веб-элементы управления. Элементы управления, имеющие больше встроенных функциональных возможностей, чем серверные HTML-элементы управления. Серверные веб-элементы управления включают не только элементы управления формы, такие как кнопки и текстовые поля, но и специализированные элементы управления, например календарь, меню и элемент управления иерархического представления. Серверные веб-элементы управления более абстрактны, чем серверные HTML-элементы управления; это проявляется в том, что их объектная модель не обязательно отражает HTML-синтаксис.
Проверяющие элементы управления. Элементы, включающие логику, которая предоставляет возможность контролировать данные, введенные пользователями в элементы управления для ввода, например в элемент управления TextBox. Проверяющие элементы управления позволяют проверить требуемое поле, протестировать на предмет наличия определенного значения или шаблона знаков, удостовериться, что значение лежит в нужном диапазоне и т. д. Дополнительные сведения см. в разделе Проверяющие элементы управления ASP.NET.
Пользовательские элементы управления. Элементы управления, создаваемые для веб-страниц ASP.NET. Можно внедрять пользовательские элементы управления ASP.NET в другие веб-страницы ASP.NET. Это простой способ создания панелей инструментов и других элементов многократного использования. Дополнительные сведения см. в разделе Пользовательские элементы управления ASP.NET.
Примечание.
Существует также возможность создания выводных данных для мобильных устройств. Для этого используется та же структура страницы ASP.NET, только вместо веб-страниц ASP.NET создаются веб-страницы ASP.NET для мобильных устройств и применяются элементы управления, специально предназначенные для мобильных устройств. Дополнительные сведения см. в разделе Создание веб-страниц ASP.NET для мобильных устройств.
На одной странице могут использоваться все типы элементов управления. В следующих разделах содержатся более подробные сведения о серверных элементах управления ASP.NET.
![]() |
---|
В некоторых случаях для правильной работы серверных элементов управления необходим клиентский сценарий. Если в обозревателе отключена возможность выполнения сценариев, в работе элементов управления возможны сбои. Дополнительные сведения см. в разделе Серверные веб-элементы управления ASP.NET и возможности обозревателей. |
Серверные HTML-элементы управления
Серверные HTML-элементы управления являются HTML-элементами (или элементами в других поддерживаемых разметках, таких как XHTML), содержащими атрибуты, которые делают их программируемыми в серверном коде. По умолчанию HTML-элементы на веб-странице ASP.NET недоступны для сервера. Вместо этого они рассматриваются как непрозрачный текст и передаются обозревателю. Тем не менее, при преобразовании HTML-элементов в серверные HTML-элементы управления они представляются как элементы, которые можно программировать на сервере.
Объектная модель для серверных HTML-элементов управления строго соответствует этому свойству элементов. Например, в серверных HTML-элементах управления атрибуты HTML представлены как свойства.
Любой HTML-элемент на странице может быть преобразован в серверный HTML-элемент управления путем добавления атрибута runat="server". Во время синтаксического анализа структура страницы ASP.NET создает экземпляры всех элементов, содержащих атрибут runat="server". Если требуется сослаться в коде на элемент управления как на член, необходимо также назначить атрибут id этому элементу управления.
Структура страниц предоставляет предварительно заданные серверные HTML-элементы управления для HTML-элементов, наиболее часто динамически используемых на странице. Это элемент form, элементы input (текстовое поле, флажок, кнопка "Отправить"), элемент select и т. п. Эти предварительно определенные серверные HTML-элементы управления совместно используют основные свойства универсального элемента управления; кроме того, каждый элемент управления обычно предоставляет свой набор свойств и свое событие.
Серверные HTML-элементы управления имеют следующие функциональные возможности:
Объектная модель, которую можно запрограммировать на сервере с помощью обычных методов объектно-ориентированного программирования. Каждый серверный элемент управления обладает свойствами, позволяющими программно управлять его атрибутами разметки в серверном коде.
Набор событий, для которых можно писать обработчики в основном так же, как и в клиентской форме, за исключением того, что событие обрабатывается в серверном коде.
Возможность обработки событий в клиентском сценарии.
Автоматическая поддержка состояния элемента управления. Если страница выполняет круговой путь к серверу, то значения, введенные пользователем в серверные HTML-элементы управления, автоматически учитываются и отправляются обратно в обозреватель.
Взаимодействие с проверяющими элементами управления ASP.NET, так что можно проверять сведения, введенные пользователем в элемент управления.
Привязка данных к одному или нескольким свойствам элемента управления.
Поддержка стилей в случае, когда веб-страница ASP.NET отображается в обозревателе, поддерживающем каскадные таблицы стилей.
Передача специализированных атрибутов. В серверные HTML-элементы управления можно добавить любые необходимые атрибуты, которые структура страниц отображает, не изменяя их функциональных возможностей. Это позволяет добавлять в элементы управления атрибуты, предоставленные обозревателем.
Сведения о преобразовании HTML-элемента в серверный HTML-элемент управления см. в разделе Практическое руководство. Добавление серверных HTML-элементов управления на веб-страницу с помощью синтаксиса ASP.NET.
Серверные веб-элементы управления
Серверные веб-элементы управления представляют собой второй набор элементов управления, разработанных с другим акцентом. Они не обязательно полностью соответствуют серверным HTML-элементам управления. Они определены как абстрактные элементы управления, в которых фактическая разметка, воспроизведенная элементом управления, может сильно отличаться от запрограммированной модели. Например, серверный веб-элемент управления RadioButtonList может воспроизводиться как в виде таблицы, так и в виде встроенного текста в другой разметке.
Серверные веб-элементы управления включают как традиционные элементы управления форм, например кнопки и текстовые поля, так и сложные элементы управления, например таблицы. Они также включают элементы управления, предоставляющие часто используемые функциональные возможности форм, такие как представление данных в виде сетки, выбор дат, отображение меню и т. д.
Серверные веб-элементы управления обладают всеми функциональными возможностями, перечисленными выше для серверных HTML-элементов управления (за исключением взаимнооднозначного сопоставления с элементами), а также следующими дополнительными возможностями:
Объектная модель с широкими функциональными возможностями, обеспечивающая строго типизированные возможности программирования.
Автоматическое обнаружение обозревателя. Элементы управления могут обнаруживать возможности обозревателя и отображать соответствующую разметку.
Для некоторых элементов управления имеется возможность определить собственную разметку элемента управления с помощью Templates.
Для некоторых элементов управления возможно указать, вызывает ли событие элемента управления немедленную отправку данных на сервер, или оно кэшируется и возникает при отправке страницы.
Поддержка тем, позволяющая определить согласованный вид для элементов управления по всему узлу. Дополнительные сведения см. в разделе Темы и обложки ASP.NET.
Возможность передавать события из вложенного элемента управления (такого как кнопка в таблице) в контейнерный элемент управления.
Элементы управления используют следующий синтаксис:
<asp:button attributes runat="server" id="Button1" />
В этом случае атрибуты отличаются от атрибутов HTML-элементов. Напротив, здесь они являются свойствами веб-элемента управления.
При запуске веб-страницы ASP.NET серверный веб-элемент управления воспроизводится на странице с помощью соответствующей разметки, которая часто зависит не только от типа обозревателя, но и от параметров, установленных для элемента управления. Например, элемент управления TextBox может отображаются в виде тега input или тега textarea, в зависимости от его свойств.
Подробная информация и справочная документация доступны для каждого элемента управления по отдельности.