Обзор серверных элементов управления ASP.NET

Прежде чем перейти к серверным элементам управления ASP.Net, давайте рассмотрим, какие есть элементы управления. Элементы управления - это небольшие блоки кода, которые можно использовать на веб-странице для выполнения задачи, для которой они предназначены. Например, если вы хотите, чтобы пользователь ввел пароль, используйте элемент управления паролем. Он поставляется со своими собственными стилями и проверками.

Аналогичным образом серверные элементы управления ASP.Net являются элементами управления, которые запускаются на сервере. Это просто HTML-подобные теги, которые понимаются сервером. Как только сервер обнаруживает любой такой тег, он знает, что отображать, как отображать, и какие действия и события нужно запускать. Конечно, как разработчик, вы можете переписать стили, события и действия по умолчанию.

Особенности ASP.NET Server Controls

  • Автоматическое управление состоянием - значения элементов управления сохраняются при обращении к серверу.
  • Простой доступ к значению объекта. Доступ к значению объекта довольно прост с помощью элементов управления, а не обычного метода использования объекта запроса.
  • События - элементы управления реагируют на события в коде на стороне сервера, что помогает в структурированной обработке определенных действий пользователя.
  • Упрощенная сложность - сложные пользовательские интерфейсы создаются с помощью простых элементов управления, которые предварительно настроены для выполнения наиболее распространенных действий.
  • Write Once Render Anywhere - веб-страницы, созданные с помощью элементов управления, оптимизированы для рендеринга на любом типе устройства или браузера. Компоновка и разметка в выходных данных автоматически создаются на основе возможностей браузера.

Категории серверных элементов управления ASP.NET

Структура страницы ASP.Net имеет поддержку многочисленных элементов управления. Серверные элементы управления ASP.NET подразделяются на 4 категории:

1. HTML Server Controls

Элементы управления HTML-сервером - это атрибуты HTML, которые обрабатываются на стороне сервера. По сути, это означает, что элемент управления имеет те же выходные данные и свойства, что и соответствующие им традиционные атрибуты HTML, но с дополнительными вычислительными возможностями для обработки событий на стороне сервера.

Подводя итог, традиционные HTML-теги, улучшенные для обработки на стороне сервера, называются серверными элементами управления HTML.

Пример HTML-сервера управления

Традиционный HTML-тег

HTML Server Control

Теперь вам может быть интересно, как атрибут runat = ”server” может преобразовать традиционный тег HTML в элемент управления HTML-сервером? Хорошо, ASP.Net рассматривает все элементы HTML как обычный текст. Атрибут run at указывает, что элемент должен рассматриваться как элемент управления, что делает его программируемым на сервере. Элементы с этим атрибутом также доступны для серверных сценариев.

Когда код ASP.Net компилируется, элементы с атрибутом runat = ”server” также компилируются в сборку. А для тех элементов, которые не имеют этого атрибута, они добавляются в сборку как общие элементы управления HTML.

Примечание. Все элементы управления HTML-сервера должны быть заключены в теги….

Преимущества управления сервером HTML

Элементы управления HTML-сервером предоставляют следующие преимущества:

  • Элементы управления отображают один на один с соответствующими тегами HTML.
  • Большинство элементов управления имеют триггер события OnServer для наиболее распространенного события элемента управления. Например, кнопки имеют OnServerClick. Разработчику просто нужно написать свой код в функциях триггера.
  • Все элементы управления HTML-сервера происходят из базового класса Web.UI.HtmlControl. Таким образом, они наследуют все основные функции и методы HTML Control.
  • Разметка элементов управления похожа на собственные теги HTML, что делает их простыми в использовании и понимании.
  • Элементы управления сгруппированы в Visual Studio Toolbox, что упрощает их использование в вашем приложении.

2. Управление веб-сервером

Элементы управления веб-сервера похожи на элементы управления HTML-сервера с точки зрения генерируемого вывода. Однако элементы управления веб-сервера представляют собой стандартизированные теги ASP. Они также скомпилированы на стороне сервера и требуют аналогичного атрибута runat = ”server”.

Пример контроля веб-сервера

Управление веб-сервером

HTML Server Control

Примечание. Не все веб-элементы управления обязательно отображаются на соответствующий HTML-элемент управления. Иногда веб-элементы управления являются более сложными, чем собственные элементы управления HTML.

Преимущества контроля веб-сервера

Элементы управления веб-сервера предоставляют следующие преимущества:

  • Элементы управления отображаются (в основном, но не всегда) на соответствующие им элементы HTML. Это облегчает разработчикам автоматическое создание пользовательского интерфейса.
  • Поскольку элементы управления предварительно заполнены интерактивными элементами HTML, процесс создания веб-форм становится менее подверженным ошибкам и более согласованным.
  • Все элементы управления веб-сервера являются производными от базового класса Web.UI.WebControls.WebControl. Таким образом, они наследуют все основные функции и методы веб-контроля.
Элементы управления веб-сервера делятся на четыре категории:
  • Основные веб-элементы управления
  • Контроль валидации
  • Элементы управления списком
  • Богатый контроль

а. Основные веб-элементы управления

Основные веб-элементы управления аналогичны элементам управления HTML-сервером. Они предоставляют ту же функциональность с дополнительными методами, событиями и свойствами, которые разработчики могут использовать для написания собственного кода.

Примеры основных веб-элементов управления

Кнопочное управление

HyperLink Control
Label Control

б. Контроль валидации

Средства проверки в ASP.Net используются для проверки вводимых пользователем данных. Эти элементы управления могут выполнять как предварительно определенные, так и пользовательские проверки. В зависимости от совместимости браузера проверки выполняются либо на стороне клиента, либо на стороне сервера. Это решение автоматически выполняется органами управления. Проверка на стороне клиента выполняется в браузере клиента, т. Е. Перед тем, как обратный вызов будет запущен на сервере. Проверка на стороне сервера выполняется после отправки формы на сервер.

Валидационные контроли не являются автономными контролями. Скорее они связаны с другими элементами управления на веб-странице или в веб-форме. С каждым проверяемым элементом управления может быть связано более одного элемента проверки. Проверка выполняется, когда пользователь отправляет страницу или форму.

Примеры валидационных контролей

Обязательное поле Валидатор

Compare Validator

с. Элементы управления списком

Элементы управления списком - это специальные элементы управления, которые генерируют предварительно отформатированные макеты списка. Эти элементы управления связываются с коллекциями и отображают собранные данные в строках настраиваемого или шаблонного формата. По этой причине элементы управления списком связываются только с коллекциями, в которых реализованы интерфейсы IEnumerable, ICollection или IListSource. Данные, которые будут связаны с элементами управления списком, определяются свойствами DataSource и DataMember.

пример

Public void Page_Load()( count_rptr.DataSource = new String() ("Uno", "Due", "Tre"); count_rptr.DataBind();)

Приведенный выше код выведет Uno, Due, Tre в виде списка, охватывающего три строки.

д. Богатый контроль

Богатые веб-элементы управления - это сложные HTML-элементы управления, предназначенные для обеспечения широкого пользовательского опыта. Это специфичные для задачи элементы управления. В отличие от простых элементов управления HTML для веб-форм, богатые элементы управления выполняют сложную задачу. Это может быть набор из нескольких простых элементов управления HTML или более расширенный макет. Примерами богатых элементов управления являются элемент управления календаря, элемент управления XML, элемент управления AdRotator и т. Д.

Элемент управления «Календарь» отвечает за отображение элемента выбора даты, который пользователь может очень удобно использовать для выбора даты.

Элемент управления XML создает макет XML для данных. XML-макет - это макет с управлением тегами, в котором данные заключены в теги. Эти теги служат ключами, в то время как данные внутри служат значениями.

Элемент управления AdRotator отвечает за отображение рекламного баннера на веб-странице.

3. Пользовательский контроль

ASP.Net также облегчает разработчику создание собственного пакета встроенных элементов управления, которые можно использовать повторно. Это очень помогает разработчикам, когда они хотят повторно использовать интерфейс текущей веб-страницы в другой. ASP.Net позволяет нам преобразовывать наши веб-формы в пользовательские элементы управления. Для этого ASP.Net сохраняет веб-формы с расширением .ascx. Эти файлы .ascx могут использоваться несколько раз в одной веб-форме.

Шаги для создания собственного пользовательского элемента управления:

  1. Удалить все,,, и
  2. Измените директиву @Page на @Control
  3. (Необязательно) Включите атрибут className с директивой @Control для строгого указания вашей директивы с классом.
  4. Сохранить элемент управления с помощью .ascx

4. Пользовательские элементы управления

В дополнение к обширному набору встроенных элементов управления ASP.Net также позволяет вам определять свой собственный пользовательский элемент управления. Пользовательский элемент управления является одним из трех:

  • Комбинация двух или более встроенных элементов управления.
  • Расширение встроенного элемента управления.
  • Совершенно новый код, который функционирует как особый элемент управления.

Рекомендуемые статьи

Это руководство по управлению сервером ASP.NET. Здесь мы обсудим функции и различные категории серверных элементов управления ASP.NET, а также преимущества и примеры. Вы также можете посмотреть следующие статьи, чтобы узнать больше -

  1. ASP.NET Framework
  2. ASP.Net Validation Controls
  3. Карьера в ASP.NET
  4. Что такое веб-службы ASP.Net?