Учебники

ASP.NET — серверные элементы управления

Элементы управления — это небольшие строительные блоки графического интерфейса пользователя, которые включают в себя текстовые поля, кнопки, флажки, списки, метки и множество других инструментов. Используя эти инструменты, пользователи могут вводить данные, делать выбор и указывать свои предпочтения.

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

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 … из задач. Отредактируйте каждый из узлов, используя редактор узлов в виде дерева, как показано на рисунке:

ASP.NET Edit Nodes

После создания узлов это выглядит следующим образом в режиме конструктора:

ASP.NET Edit Nodes2

Задача Автоформат … позволяет форматировать древовидное представление, как показано ниже:

ASP.NET Автоформат

Добавьте элемент управления надписью и текстовое поле на странице и назовите их соответственно 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;
            }
         }
      }
   }
}

Выполните страницу, чтобы увидеть эффекты. Вы сможете развернуть и свернуть узлы.