Элементы управления — это небольшие строительные блоки графического интерфейса пользователя, которые включают в себя текстовые поля, кнопки, флажки, списки, метки и множество других инструментов. Используя эти инструменты, пользователи могут вводить данные, делать выбор и указывать свои предпочтения.
Элементы управления также используются для структурных заданий, таких как проверка, доступ к данным, безопасность, создание главных страниц и манипулирование данными.
ASP.NET использует пять типов веб-элементов управления:
- Элементы управления HTML
- HTML-сервер управления
- Серверные элементы управления ASP.NET
- ASP.NET Ajax Server контролирует
- Пользовательские элементы управления и пользовательские элементы управления
Серверные элементы управления ASP.NET являются основными элементами управления, используемыми в ASP.NET. Эти элементы управления могут быть сгруппированы в следующие категории:
-
Средства проверки — они используются для проверки ввода пользователя и работают с помощью клиентского сценария.
-
Элементы управления источниками данных. Эти элементы управления обеспечивают привязку данных к различным источникам данных.
-
Элементы управления представлением данных — это различные списки и таблицы, которые могут быть привязаны к данным из источников данных для отображения.
-
Средства управления персонализацией — они используются для персонализации страницы в соответствии с предпочтениями пользователя на основе информации о пользователе.
-
Элементы управления входом и безопасностью — эти элементы управления обеспечивают аутентификацию пользователя.
-
Главные страницы — эти элементы управления обеспечивают согласованный макет и интерфейс во всем приложении.
-
Элементы управления навигацией. Эти элементы управления помогают в навигации. Например, меню, вид дерева и т. Д.
-
Богатые элементы управления — эти элементы управления реализуют специальные функции. Например, элементы управления AdRotator, FileUpload и Calendar.
Средства проверки — они используются для проверки ввода пользователя и работают с помощью клиентского сценария.
Элементы управления источниками данных. Эти элементы управления обеспечивают привязку данных к различным источникам данных.
Элементы управления представлением данных — это различные списки и таблицы, которые могут быть привязаны к данным из источников данных для отображения.
Средства управления персонализацией — они используются для персонализации страницы в соответствии с предпочтениями пользователя на основе информации о пользователе.
Элементы управления входом и безопасностью — эти элементы управления обеспечивают аутентификацию пользователя.
Главные страницы — эти элементы управления обеспечивают согласованный макет и интерфейс во всем приложении.
Элементы управления навигацией. Эти элементы управления помогают в навигации. Например, меню, вид дерева и т. Д.
Богатые элементы управления — эти элементы управления реализуют специальные функции. Например, элементы управления AdRotator, FileUpload и Calendar.
Синтаксис для использования серверных элементов управления:
<asp:controlType ID ="ControlID" runat="server" Property1=value1 [Property2=value2] />
Кроме того, Visual Studio имеет следующие функции, помогающие производить кодирование без ошибок:
- Перетаскивание элементов управления в режиме конструктора
- Функция IntelliSense, которая отображает и автоматически заполняет свойства
- Окно свойств для непосредственной установки значений свойств
Свойства серверных элементов управления
Серверные элементы управления ASP.NET с визуальным аспектом являются производными от класса WebControl и наследуют все свойства, события и методы этого класса.
Сам класс WebControl и некоторые другие серверные элементы управления, которые не визуализируются, являются производными от класса System.Web.UI.Control. Например, элемент управления PlaceHolder или элемент управления XML.
Серверные элементы управления ASP.Net наследуют все свойства, события и методы классов WebControl и System.Web.UI.Control.
В следующей таблице показаны унаследованные свойства, общие для всех серверных элементов управления:
| Имущество | Описание |
|---|---|
| Ключ доступа | Нажатие этой клавиши клавишей Alt перемещает фокус на элемент управления. |
| Атрибуты | Это коллекция произвольных атрибутов (только для рендеринга), которые не соответствуют свойствам элемента управления. |
| BackColor | Фоновый цвет. |
| BindingContainer | Элемент управления, который содержит привязку данных этого элемента управления. |
| Цвет границы | Цвет границы. |
| BorderStyle | Пограничный стиль. |
| Ширина рамки | Ширина рамки. |
| CausesValidation | Указывает, вызывает ли это проверку. |
| ChildControlCreated | Указывает, созданы ли дочерние элементы управления серверного элемента. |
| ID клиента | Контрольный идентификатор для разметки HTML. |
| контекст | Объект HttpContext, связанный с серверным элементом управления. |
| управления | Коллекция всех элементов управления, содержащихся в элементе управления. |
| ControlStyle | Стиль управления веб-сервером. |
| CssClass | Класс CSS |
| DataItemContainer | Получает ссылку на контейнер именования, если контейнер именования реализует IDataItemContainer. |
| DataKeysContainer | Получает ссылку на контейнер именования, если контейнер именования реализует IDataKeysControl. |
| DesignMode | Указывает, используется ли элемент управления на проектной поверхности. |
| DisabledCssClass | Получает или задает класс CSS, применяемый к отображаемому элементу HTML, когда элемент управления отключен. |
| Включено | Указывает, отображается ли элемент управления серым цветом. |
| EnableTheming | Указывает, относится ли тематика к элементу управления. |
| EnableViewState | Указывает, поддерживается ли состояние просмотра элемента управления. |
| События | Получает список делегатов обработчика событий для элемента управления. |
| Шрифт | Шрифт. |
| ForeColor | Цвет переднего плана. |
| HasAttributes | Указывает, установлены ли для элемента управления атрибуты. |
| HasChildViewState | Указывает, имеют ли дочерние элементы текущего серверного элемента управления какие-либо сохраненные настройки состояния просмотра. |
| Рост | Высота в пикселях или%. |
| Я БЫ | Идентификатор для контроля. |
| IsChildControlStateCleared | Указывает, имеют ли элементы управления, содержащиеся в этом элементе управления, состояние элемента управления. |
| Включен | Получает значение, указывающее, включен ли элемент управления. |
| IsTrackingViewState | Указывает, сохраняет ли серверный элемент управления изменения в своем состоянии просмотра. |
| IsViewStateEnabled | Указывает, включено ли состояние просмотра для этого элемента управления. |
| LoadViewStateByID | Указывает, участвует ли элемент управления в загрузке своего состояния просмотра по идентификатору вместо индекса. |
| страница | Страница, содержащая элемент управления. |
| родитель | Родительский контроль. |
| RenderingCompatibility | Он указывает версию ASP.NET, с которой будет отображаться HTML-код. |
| сайт | Контейнер, в котором находится текущий элемент управления при визуализации на поверхности конструктора. |
| SkinID | Получает или задает обложку для применения к элементу управления. |
| Стиль | Получает коллекцию текстовых атрибутов, которые будут отображаться как атрибут стиля во внешнем теге элемента управления веб-сервера. |
| TabIndex | Получает или задает индекс вкладки элемента управления веб-сервера. |
| TagKey | Получает значение HtmlTextWriterTag, соответствующее этому элементу управления веб-сервера. |
| Название тэга | Получает имя тега элемента управления. |
| TemplateControl | Шаблон, который содержит этот элемент управления. |
| TemplateSourceDirectory | Получает виртуальный каталог страницы или элемента управления, содержащего этот элемент управления. |
| ToolTip | Получает или задает текст, отображаемый при наведении указателя мыши на элемент управления веб-сервера. |
| Уникальный идентификатор | Уникальный идентификатор. |
| ViewState | Получает словарь информации о состоянии, который сохраняет и восстанавливает состояние просмотра серверного элемента управления для нескольких запросов на одну и ту же страницу. |
| ViewStateIgnoreCase | Указывает, является ли объект StateBag нечувствительным к регистру. |
| ViewStateMode | Получает или задает режим состояния просмотра этого элемента управления. |
| видимый | Указывает, виден ли серверный элемент управления. |
| ширина | Получает или задает ширину элемента управления веб-сервера. |
Методы управления сервером
В следующей таблице представлены методы серверных элементов управления:
| метод | Описание |
|---|---|
| AddAttributesToRender | Добавляет атрибуты и стили HTML, которые необходимо отобразить, в указанный HtmlTextWriterTag. |
| AddedControl | Вызывается после добавления дочернего элемента управления в коллекцию Controls объекта элемента управления. |
| AddParsedSubObject | Уведомляет серверный элемент управления о том, что элемент (XML или HTML) был проанализирован, и добавляет элемент в коллекцию элементов управления серверного элемента. |
| ApplyStyleSheetSkin | Применяет свойства стиля, определенные в таблице стилей страницы, к элементу управления. |
| ClearCachedClientID | Инфраструктура. Устанавливает кэшированное значение ClientID в ноль. |
| ClearChildControlState | Удаляет информацию о состоянии элемента управления для дочерних элементов управления серверного элемента управления. |
| ClearChildState | Удаляет информацию о состоянии просмотра и состоянии элемента управления для всех дочерних элементов управления серверного элемента управления. |
| ClearChildViewState | Удаляет информацию о состоянии просмотра для всех дочерних элементов управления серверного элемента управления. |
| CreateChildControls | Используется при создании дочерних элементов управления. |
| CreateControlCollection | Создает новый объект ControlCollection для хранения дочерних элементов управления. |
| CreateControlStyle | Создает объект стиля, который используется для реализации всех свойств, связанных со стилем. |
| DataBind | Связывает источник данных с серверным элементом управления и всеми его дочерними элементами управления. |
| DataBind (Boolean) | Связывает источник данных с серверным элементом управления и всеми его дочерними элементами управления с возможностью вызвать событие DataBinding. |
| DataBindChildren | Связывает источник данных с дочерними элементами управления серверного элемента управления. |
| избавиться | Позволяет элементу управления сервера выполнять окончательную очистку перед его освобождением из памяти. |
| EnsureChildControls | Определяет, содержит ли серверный элемент управления дочерние элементы управления. Если это не так, он создает дочерние элементы управления. |
| EnsureID | Создает идентификатор для элементов управления, которые не имеют идентификатора. |
| Равно (Объект) | Определяет, равен ли указанный объект текущему объекту. |
| завершать | Позволяет объекту пытаться освободить ресурсы и выполнить другие операции очистки, прежде чем объект будет утилизирован сборщиком мусора. |
| FindControl (String) | Выполняет поиск в текущем контейнере именования серверного элемента управления с указанным параметром id. |
| FindControl (String, Int32) | Выполняет поиск в текущем контейнере именования серверного элемента управления с указанным идентификатором и целым числом. |
| фокус | Устанавливает фокус ввода на элемент управления. |
| GetDesignModeState | Получает данные времени разработки для элемента управления. |
| GetType | Получает тип текущего экземпляра. |
| GetUniqueIDRelativeTo | Возвращает часть с префиксом свойства UniqueID указанного элемента управления. |
| HasControls | Определяет, содержит ли серверный элемент управления дочерние элементы управления. |
| HasEvents | Указывает, зарегистрированы ли события для элемента управления или любых дочерних элементов управления. |
| IsLiteralContent | Определяет, содержит ли серверный элемент управления только литеральный контент. |
| LoadControlState | Восстанавливает контроль состояния информации. |
| LoadViewState | Восстанавливает информацию о состоянии просмотра. |
| MapPathSecure | Извлекает физический путь, на который отображается виртуальный путь, абсолютный или относительный. |
| MemberwiseClone | Создает поверхностную копию текущего объекта. |
| MergeStyle | Копирует любые непустые элементы указанного стиля в веб-элемент управления, но не перезаписывает существующие элементы стиля элемента управления. |
| OnBubbleEvent | Определяет, передается ли событие для серверного элемента управления в иерархию серверного элемента управления пользовательского интерфейса страницы. |
| OnDataBinding | Вызывает событие привязки данных. |
| OnInit | Вызывает событие Init. |
| В процессе | Вызывает событие Load. |
| OnPreRender | Вызывает событие PreRender. |
| OnUnload | Вызывает событие Unload. |
| Открыть файл | Получает поток, используемый для чтения файла. |
| RemovedControl | Вызывается после удаления дочернего элемента управления из коллекции элементов управления объекта управления. |
| оказывать | Визуализирует элемент управления указанному средству записи HTML. |
| RenderBeginTag | Визуализирует открывающий тег HTML элемента управления указанному автору. |
| RenderChildren | Выводит содержимое дочерних элементов серверного элемента управления в предоставленный объект HtmlTextWriter, который записывает содержимое, которое будет отображаться на клиенте. |
| RenderContents | Визуализирует содержимое элемента управления указанному писателю. |
| RenderControl (HtmlTextWriter) | Выводит содержимое серверного элемента управления в предоставленный объект HtmlTextWriter и сохраняет информацию трассировки об элементе управления, если трассировка включена. |
| RenderEndTag | Визуализирует закрывающий тег HTML элемента управления в указанном модуле записи. |
| ResolveAdapter | Получает адаптер элемента управления, отвечающий за отображение указанного элемента управления. |
| SaveControlState | Сохраняет все изменения состояния элемента управления сервером, которые произошли с момента публикации страницы на сервере. |
| SaveViewState | Сохраняет любое состояние, которое было изменено после вызова метода TrackViewState. |
| SetDesignModeState | Устанавливает данные времени разработки для элемента управления. |
| Нанизывать | Возвращает строку, которая представляет текущий объект. |
| TrackViewState | Заставляет элемент управления отслеживать изменения своего состояния просмотра, чтобы они могли быть сохранены в свойстве состояния просмотра объекта. |
пример
Давайте посмотрим на конкретный серверный элемент управления — древовидный элемент управления. Элемент управления Tree View находится под управлением навигации. Другие элементы навигации: элемент управления меню и элемент управления SiteMapPath.
Добавьте древовидный элемент управления на страницу. Выберите Edit Nodes … из задач. Отредактируйте каждый из узлов, используя редактор узлов в виде дерева, как показано на рисунке:
После создания узлов это выглядит следующим образом в режиме конструктора:
Задача Автоформат … позволяет форматировать древовидное представление, как показано ниже:
Добавьте элемент управления надписью и текстовое поле на странице и назовите их соответственно lblmessage и txtmessage.
Напишите несколько строк кода, чтобы при выборе определенного узла элемент управления меткой отображал текст узла, а в текстовом поле — все дочерние узлы, если они есть. Код за файлом должен выглядеть так:
using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; namespace eventdemo { public partial class treeviewdemo : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { txtmessage.Text = " "; } protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e) { txtmessage.Text = " "; lblmessage.Text = "Selected node changed to: " + TreeView1.SelectedNode.Text; TreeNodeCollection childnodes = TreeView1.SelectedNode.ChildNodes; if(childnodes != null) { txtmessage.Text = " "; foreach (TreeNode t in childnodes) { txtmessage.Text += t.Value; } } } } }
Выполните страницу, чтобы увидеть эффекты. Вы сможете развернуть и свернуть узлы.


