Поделиться через


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> на страницу Веб-форм.

Важно!

В этом примере имеется текстовое поле, принимающее вводимые пользователем данные, что является потенциальной угрозой безопасности. По умолчанию данные, вводимые пользователем на веб-страницах 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 значение null.

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)

Выполняет поиск серверного элемента управления с заданным параметром id в текущем контейнере именования.

FindControl(String, Int32)

Выполняет поиск в текущем контейнере именования серверного элемента управления с указанным id и целым числом, указанным в параметре pathOffset, который содействует поиску. Эту версию метода FindControl не следует переопределять.

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)

Выводит содержимое серверного элемента управления в указанный объект HtmlTextWriter и сохраняет сведения о трассировке элемента управления, если трассировка включена.

RenderControl(HtmlTextWriter, ControlAdapter)

Выводит серверный элемент управления в указанный объект HtmlTextWriter, используя указанный объект ControlAdapter.

ResolveAdapter()

Возвращает адаптер элемента управления, отвечающий за отрисовку определенного элемента управления.

ResolveClientUrl(String)

Возвращает URL-адрес, который может использоваться браузером.

ResolveUrl(String)

Преобразует URL-адрес в адрес, доступный для клиента.

SaveControlState()

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

SaveViewState()

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

SetDesignModeState(IDictionary)

Задает данные времени разработки для элемента управления.

SetRenderMethodDelegate(RenderMethod)

Назначает делегата обработчика событий для преобразования серверного элемента управления и его содержимого для просмотра в родительский элемент управления.

SetTraceData(Object, Object)

Задает данные трассировки для трассировки данных отрисовки во время разработки, используя ключ данных трассировки и значение данных трассировки.

SetTraceData(Object, 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)

Возвращает объект метатаблицы для контейнерного элемента управления данными.

Применяется к

См. также раздел