Control Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Определяет свойства, методы и события, которые совместно используются всеми элементами управления сервера ASP.NET.
public ref class Control : IDisposable, System::ComponentModel::IComponent, System::Web::UI::IDataBindingsAccessor, System::Web::UI::IParserAccessor
public ref class Control : IDisposable, System::ComponentModel::IComponent, System::Web::UI::IControlBuilderAccessor, System::Web::UI::IControlDesignerAccessor, System::Web::UI::IDataBindingsAccessor, System::Web::UI::IExpressionsAccessor, System::Web::UI::IParserAccessor, System::Web::UI::IUrlResolutionService
public class Control : IDisposable, System.ComponentModel.IComponent, System.Web.UI.IDataBindingsAccessor, System.Web.UI.IParserAccessor
[System.ComponentModel.Bindable(true)]
[System.Web.UI.Themeable(false)]
public class Control : IDisposable, System.ComponentModel.IComponent, System.Web.UI.IControlBuilderAccessor, System.Web.UI.IControlDesignerAccessor, System.Web.UI.IDataBindingsAccessor, System.Web.UI.IExpressionsAccessor, System.Web.UI.IParserAccessor, System.Web.UI.IUrlResolutionService
type Control = class
interface IComponent
interface IDisposable
interface IParserAccessor
interface IDataBindingsAccessor
[<System.ComponentModel.Bindable(true)>]
[<System.Web.UI.Themeable(false)>]
type Control = class
interface IComponent
interface IDisposable
interface IParserAccessor
interface IUrlResolutionService
interface IDataBindingsAccessor
interface IControlBuilderAccessor
interface IControlDesignerAccessor
interface IExpressionsAccessor
Public Class Control
Implements IComponent, IDataBindingsAccessor, IDisposable, IParserAccessor
Public Class Control
Implements IComponent, IControlBuilderAccessor, IControlDesignerAccessor, IDataBindingsAccessor, IDisposable, IExpressionsAccessor, IParserAccessor, IUrlResolutionService
- Наследование
-
Control
- Производный
- Атрибуты
- Реализации
Примеры
В следующем примере показан пользовательский серверный элемент управления, производный от Control класса. Класс InnerContent переопределяет Control.Render метод, проверяет наличие дочерних элементов управления на странице и определяет, является ли первый дочерний элемент элемента управления литеральным элементом. Если выполнены оба этих условия, переопределенный метод записывает html-строку <H2>Your Message:, содержимое литерального элемента управления и закрывающий <тег /H2> на страницу веб-форм.
Important
В этом примере есть текстовое поле, которое принимает входные данные пользователя, которое является потенциальной угрозой безопасности. По умолчанию ASP.NET веб-страницы проверяют, что входные данные пользователя не включают скрипт или ЭЛЕМЕНТЫ HTML. Дополнительные сведения см. в разделе "Обзор эксплойтов скриптов".
using System;
using System.Web;
using System.Web.UI;
namespace SimpleControlSamples {
public class InnerContent : Control {
[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="Execution")]
protected override void Render(HtmlTextWriter output) {
if ( (HasControls()) && (Controls[0] is LiteralControl) ) {
output.Write("<H2>Your message : ");
Controls[0].RenderControl(output);
output.Write("</H2>");
}
}
}
}
Option Explicit
Option Strict
Imports System.Web
Imports System.Web.UI
Namespace SimpleControlSamples
Public Class InnerContent
Inherits Control
<System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="Execution")> _
Protected Overrides Sub Render(output As HtmlTextWriter)
If HasControls() And TypeOf Controls(0) Is LiteralControl Then
output.Write("<H2>Your message : ")
Controls(0).RenderControl(output)
output.Write("</H2>")
End If
End Sub
End Class
End Namespace 'SimpleControlSamples
Комментарии
Это основной класс, производный от разработки пользовательских ASP.NET серверных элементов управления. Control не имеет определенных функций пользовательского интерфейса. Если вы создаете элемент управления, который не имеет пользовательского интерфейса, или объединяет другие элементы управления, отрисовывющие собственный пользовательский интерфейс, производные от Control. Если вы создаете элемент управления с пользовательским интерфейсом, производный от WebControl него или любой элемент управления в System.Web.UI.WebControls пространстве имен, который предоставляет соответствующую отправную точку для пользовательского элемента управления.
Класс Control является базовым классом для всех ASP.NET серверных элементов управления, включая пользовательские элементы управления, пользовательские элементы управления и страницы. ASP.NET страницы — это экземпляры класса Page, который наследуется от класса Control и обрабатывает запросы к файлам с расширением .aspx.
Control Класс может напрямую или косвенно использоваться как часть пользовательского интерфейса для веб-приложения, и таким образом следует тщательно проверять рекомендации по написанию защищенного кода и защите приложений.
Общие сведения об этих разделах см. в разделе "Общие сведения об угрозах безопасности веб-приложений", рекомендациях по политикебезопасности и основных понятиях безопасности. Дополнительные сведения см. в разделе "Защита стандартных элементов управления", практическое руководство. Отображение безопасных сообщений об ошибках, практическое руководство. Защита от эксплойтов скриптов в веб-приложении путем применения кодировки HTML к строкам и введение в элементы управления проверки.
Конструкторы
| Имя | Описание |
|---|---|
| Control() |
Инициализирует новый экземпляр класса Control. |
Свойства
| Имя | Описание |
|---|---|
| Adapter |
Возвращает адаптер, зависящий от браузера, для элемента управления. |
| AppRelativeTemplateSourceDirectory |
Возвращает или задает относительный к приложению виртуальный каталог Page объекта или UserControl объекта, содержащего этот элемент управления. |
| BindingContainer |
Возвращает элемент управления, содержащий привязку данных этого элемента управления. |
| ChildControlsCreated |
Возвращает значение, указывающее, были ли созданы дочерние элементы управления сервера. |
| ClientID |
Возвращает идентификатор элемента управления для разметки HTML, созданной ASP.NET. |
| ClientIDMode |
Возвращает или задает алгоритм, используемый для создания значения ClientID свойства. |
| ClientIDSeparator |
Возвращает значение символа, представляющее символ разделителя, используемый в свойстве ClientID . |
| Context |
HttpContext Возвращает объект, связанный с серверным элементом управления для текущего веб-запроса. |
| Controls |
ControlCollection Возвращает объект, представляющий дочерние элементы управления для указанного серверного элемента управления в иерархии пользовательского интерфейса. |
| DataItemContainer |
Возвращает ссылку на контейнер именования, если контейнер именования реализует IDataItemContainer. |
| DataKeysContainer |
Возвращает ссылку на контейнер именования, если контейнер именования реализует IDataKeysControl. |
| DesignMode |
Возвращает значение, указывающее, используется ли элемент управления на поверхности конструктора. |
| EnableTheming |
Возвращает или задает значение, указывающее, применяются ли темы к этому элементу управления. |
| EnableViewState |
Возвращает или задает значение, указывающее, сохраняет ли серверный элемент управления состояние представления и состояние представления всех дочерних элементов управления, содержащихся в нем, для запрашивающего клиента. |
| Events |
Возвращает список делегатов обработчика событий для элемента управления. Это свойство доступно только для чтения. |
| HasChildViewState |
Получает значение, указывающее, имеют ли дочерние элементы управления текущего элемента управления серверным элементом управления какие-либо сохраненные параметры состояния представления. |
| ID |
Возвращает или задает программный идентификатор, назначенный элементу управления сервером. |
| IdSeparator |
Возвращает символ, используемый для разделения идентификаторов элемента управления. |
| IsChildControlStateCleared |
Возвращает значение, указывающее, имеют ли элементы управления, содержащиеся в этом элементе управления, состояние элемента управления. |
| IsTrackingViewState |
Возвращает значение, указывающее, сохраняется ли серверная система управления изменениями в состоянии представления. |
| IsViewStateEnabled |
Возвращает значение, указывающее, включено ли состояние представления для этого элемента управления. |
| LoadViewStateByID |
Возвращает значение, указывающее, участвует ли элемент управления в загрузке состояния ID представления вместо индекса. |
| NamingContainer |
Возвращает ссылку на контейнер именования серверного элемента управления, который создает уникальное пространство имен для различения между элементами управления сервера с ID одинаковым значением свойства. |
| Page |
Возвращает ссылку на Page экземпляр, содержащий серверный элемент управления. |
| Parent |
Возвращает ссылку на родительский элемент управления сервера в иерархии элементов управления страницами. |
| RenderingCompatibility |
Возвращает значение, указывающее версию ASP.NET, с которым будет совместим отрисованный HTML. |
| Site |
Получает сведения о контейнере, на котором размещается текущий элемент управления при отрисовки на поверхности конструктора. |
| SkinID |
Возвращает или задает кожу, применяемую к элементу управления. |
| TemplateControl |
Возвращает или задает ссылку на шаблон, содержащий этот элемент управления. |
| TemplateSourceDirectory |
Возвращает виртуальный Page каталог или UserControl содержащий текущий серверный элемент управления. |
| UniqueID |
Возвращает уникальный иерархический идентификатор для элемента управления сервером. |
| ValidateRequestMode |
Возвращает или задает значение, указывающее, проверяет ли элемент управления входные данные клиента из браузера для потенциально опасных значений. |
| ViewState |
Получает словарь сведений о состоянии, позволяющий сохранять и восстанавливать состояние представления серверного элемента управления в нескольких запросах на одну и ту же страницу. |
| ViewStateIgnoresCase |
Возвращает значение, указывающее, является ли StateBag объект нечувствительным к регистру. |
| ViewStateMode |
Возвращает или задает режим состояния представления этого элемента управления. |
| Visible |
Возвращает или задает значение, указывающее, отображается ли серверный элемент управления в виде пользовательского интерфейса на странице. |
Методы
| Имя | Описание |
|---|---|
| AddedControl(Control, Int32) |
Вызывается после добавления дочернего Controls элемента управления в Control коллекцию объекта. |
| AddParsedSubObject(Object) |
Уведомляет серверный элемент управления о том, что элемент , XML или HTML, был проанализирован, и добавляет элемент в объект элемента управления ControlCollection сервера. |
| ApplyStyleSheetSkin(Page) |
Применяет свойства стиля, определенные в таблице стилей страницы, к элементу управления. |
| BeginRenderTracing(TextWriter, Object) |
Начинает трассировку данных отрисовки во время разработки. |
| BuildProfileTree(String, Boolean) |
Собирает сведения о серверном элементе управления и передает его Trace свойству, которое будет отображаться при включении трассировки для страницы. |
| ClearCachedClientID() |
Задает кэшированное ClientID значение |
| ClearChildControlState() |
Удаляет сведения о состоянии элемента управления для дочерних элементов управления сервера. |
| ClearChildState() |
Удаляет сведения о состоянии представления и состояния элемента управления для всех дочерних элементов управления сервера. |
| ClearChildViewState() |
Удаляет сведения о состоянии представления для всех дочерних элементов управления сервера. |
| ClearEffectiveClientIDMode() |
ClientIDMode Задает свойство текущего экземпляра элемента управления и всех дочерних элементов управленияInherit. |
| CreateChildControls() |
Вызывается платформой страницы ASP.NET, чтобы уведомить серверные элементы управления, использующие реализацию на основе композиции, чтобы создать все дочерние элементы управления, содержащиеся в подготовке к публикации обратной или отрисовки. |
| CreateControlCollection() |
Создает новый ControlCollection объект для хранения дочерних элементов управления (как литерала, так и сервера) элемента управления сервером. |
| DataBind() |
Привязывает источник данных к вызываемой серверной системе управления и всем дочерним элементам управления. |
| DataBind(Boolean) |
Привязывает источник данных к вызываемой серверной системе управления и всем его дочерним элементам управления с возможностью вызвать DataBinding событие. |
| DataBindChildren() |
Привязывает источник данных к дочерним элементам управления сервера. |
| Dispose() |
Позволяет элементу управления сервера выполнять окончательную очистку перед освобождением из памяти. |
| EndRenderTracing(TextWriter, Object) |
Завершает трассировку времени разработки данных отрисовки. |
| EnsureChildControls() |
Определяет, содержит ли серверный элемент управления дочерние элементы управления. Если это не так, он создает дочерние элементы управления. |
| EnsureID() |
Создает идентификатор для элементов управления, которым не назначен идентификатор. |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| FindControl(String, Int32) |
Выполняет поиск текущего контейнера именования для элемента управления сервером с указанным |
| FindControl(String) |
Выполняет поиск текущего контейнера именования для элемента управления сервером с указанным |
| Focus() |
Задает фокус ввода элементу управления. |
| GetDesignModeState() |
Возвращает данные во время разработки для элемента управления. |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetRouteUrl(Object) |
Возвращает URL-адрес, соответствующий набору параметров маршрута. |
| GetRouteUrl(RouteValueDictionary) |
Возвращает URL-адрес, соответствующий набору параметров маршрута. |
| GetRouteUrl(String, Object) |
Получает URL-адрес, соответствующий набору параметров маршрута и имени маршрута. |
| GetRouteUrl(String, RouteValueDictionary) |
Получает URL-адрес, соответствующий набору параметров маршрута и имени маршрута. |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| GetUniqueIDRelativeTo(Control) |
Возвращает префиксированную часть UniqueID свойства указанного элемента управления. |
| HasControls() |
Определяет, содержит ли серверный элемент управления какие-либо дочерние элементы управления. |
| HasEvents() |
Возвращает значение, указывающее, регистрируются ли события для элемента управления или любых дочерних элементов управления. |
| IsLiteralContent() |
Определяет, содержит ли серверный элемент управления только литеральное содержимое. |
| LoadControlState(Object) |
Восстанавливает сведения о состоянии элемента управления из предыдущего запроса страницы, сохраненного методом SaveControlState() . |
| LoadViewState(Object) |
Восстанавливает сведения о состоянии представления из предыдущего запроса страницы, сохраненного методом SaveViewState() . |
| MapPathSecure(String) |
Извлекает физический путь, с которым сопоставляется виртуальный путь( абсолютный или относительный). |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| OnBubbleEvent(Object, EventArgs) |
Определяет, передается ли событие для элемента управления сервером пользовательского интерфейса страницы. |
| OnDataBinding(EventArgs) |
Вызывает событие DataBinding. |
| OnInit(EventArgs) |
Вызывает событие Init. |
| OnLoad(EventArgs) |
Вызывает событие Load. |
| OnPreRender(EventArgs) |
Вызывает событие PreRender. |
| OnUnload(EventArgs) |
Вызывает событие Unload. |
| OpenFile(String) |
Возвращает используемый Stream для чтения файла. |
| RaiseBubbleEvent(Object, EventArgs) |
Назначает любые источники события и ее сведения родительскому элементу управления. |
| RemovedControl(Control) |
Вызывается после удаления дочернего Controls элемента управления из Control коллекции объекта. |
| Render(HtmlTextWriter) |
Отправляет содержимое элемента управления сервера в предоставленный HtmlTextWriter объект, который записывает содержимое для отрисовки на клиенте. |
| RenderChildren(HtmlTextWriter) |
Выводит содержимое дочерних элементов управления сервера в предоставленный HtmlTextWriter объект, который записывает содержимое для отрисовки на клиенте. |
| RenderControl(HtmlTextWriter, ControlAdapter) |
Выводит содержимое элемента управления сервером в предоставленный HtmlTextWriter объект с помощью предоставленного ControlAdapter объекта. |
| RenderControl(HtmlTextWriter) |
Выводит содержимое сервера управления в предоставленный HtmlTextWriter объект и сохраняет сведения о трассировке элемента управления, если трассировка включена. |
| ResolveAdapter() |
Возвращает адаптер управления, отвечающий за отрисовку указанного элемента управления. |
| ResolveClientUrl(String) |
Получает URL-адрес, который может использоваться браузером. |
| ResolveUrl(String) |
Преобразует URL-адрес в url-адрес, который можно использовать на запрашиваемом клиенте. |
| SaveControlState() |
Сохраняет все изменения состояния управления сервером, которые произошли с момента публикации страницы на сервер. |
| SaveViewState() |
Сохраняет все изменения состояния представления представления сервера, которые произошли с момента отправки страницы на сервер. |
| SetDesignModeState(IDictionary) |
Задает данные во время разработки для элемента управления. |
| SetRenderMethodDelegate(RenderMethod) |
Назначает делегат обработчика событий для отрисовки элемента управления сервером и его содержимого в родительский элемент управления. |
| SetTraceData(Object, Object, Object) |
Задает данные трассировки для трассировки данных отрисовки во время разработки, используя объект трассировки, ключ данных трассировки и значение данных трассировки. |
| SetTraceData(Object, Object) |
Задает данные трассировки для трассировки данных отрисовки во время разработки, используя ключ данных трассировки и значение данных трассировки. |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
| TrackViewState() |
Вызывает отслеживание изменений состояния представления в серверном элементе управления, чтобы они могли храниться в объекте серверного элемента управления StateBag . Этот объект доступен через ViewState свойство. |
События
| Имя | Описание |
|---|---|
| DataBinding |
Происходит, когда серверный элемент управления привязывается к источнику данных. |
| Disposed |
Происходит при освобождении серверного элемента управления из памяти, который является последним этапом жизненного цикла управления сервера при запросе страницы ASP.NET. |
| Init |
Происходит при инициализации серверного элемента управления, который является первым шагом в его жизненном цикле. |
| Load |
Происходит при загрузке серверного элемента управления в Page объект. |
| PreRender |
Происходит после Control загрузки объекта, но до отрисовки. |
| Unload |
Происходит при выгрузке серверного элемента управления из памяти. |
Явные реализации интерфейса
| Имя | Описание |
|---|---|
| IControlBuilderAccessor.ControlBuilder |
Описание этого элемента см. в разделе ControlBuilder. |
| IControlDesignerAccessor.GetDesignModeState() |
Описание этого элемента см. в разделе GetDesignModeState(). |
| IControlDesignerAccessor.SetDesignModeState(IDictionary) |
Описание этого элемента см. в разделе SetDesignModeState(IDictionary). |
| IControlDesignerAccessor.SetOwnerControl(Control) |
Описание этого элемента см. в разделе SetOwnerControl(Control). |
| IControlDesignerAccessor.UserData |
Описание этого элемента см. в разделе UserData. |
| IDataBindingsAccessor.DataBindings |
Описание этого элемента см. в разделе DataBindings. |
| IDataBindingsAccessor.HasDataBindings |
Описание этого элемента см. в разделе HasDataBindings. |
| IExpressionsAccessor.Expressions |
Описание этого элемента см. в разделе Expressions. |
| IExpressionsAccessor.HasExpressions |
Описание этого элемента см. в разделе HasExpressions. |
| IParserAccessor.AddParsedSubObject(Object) |
Описание этого элемента см. в разделе AddParsedSubObject(Object). |
Методы расширения
| Имя | Описание |
|---|---|
| FindDataSourceControl(Control) |
Возвращает источник данных, связанный с элементом управления данными для указанного элемента управления. |
| FindFieldTemplate(Control, String) |
Возвращает шаблон поля для указанного столбца в контейнере именования указанного элемента управления. |
| FindMetaTable(Control) |
Возвращает объект метатабли для содержащего элемента управления данными. |