Элементы управления — это небольшие строительные блоки графического интерфейса пользователя, которые включают в себя текстовые поля, кнопки, флажки, списки, метки и множество других инструментов. Используя эти инструменты, пользователи могут вводить данные, делать выбор и указывать свои предпочтения.
Элементы управления также используются для структурных заданий, таких как проверка, доступ к данным, безопасность, создание главных страниц и манипулирование данными.
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; } } } } }
Выполните страницу, чтобы увидеть эффекты. Вы сможете развернуть и свернуть узлы.