Control Classe

Definição

Define as propriedades, métodos e eventos que são partilhados por todos os controlos do servidor 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
Herança
Control
Derivado
Atributos
Implementações

Exemplos

O exemplo seguinte demonstra um controlo de servidor personalizado que deriva da Control classe. A InnerContent classe sobrepõe o Control.Render método, verifica se a classe tem algum controlo filho na página e determina se o primeiro filho do controlo é um controlo literal. Se ambas as condições forem cumpridas, o método sobreposto escreve a string <HTML H2>Your Message:, o conteúdo do controlo literal e uma etiqueta de fecho </H2> na página Web Forms.

Importante

Este exemplo tem uma caixa de texto que aceita a entrada do utilizador, o que constitui uma potencial ameaça à segurança. Por defeito, as páginas Web do ASP.NET validam que a entrada do utilizador não inclui elementos de script ou HTML. Para mais informações, consulte Visão Geral dos Exploits de Scripts.

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

Observações

Esta é a principal classe de onde se deriva quando desenvolve controlos personalizados de servidor ASP.NET. Control não possui funcionalidades específicas da interface de utilizador (UI). Se estiver a criar um controlo que não tem interface, ou combina outros controlos que renderizam a sua própria interface, derive de Control. Se estiveres a criar um controlo que tem interface, deriva de WebControl ou qualquer controlo no System.Web.UI.WebControls namespace que forneça um ponto de partida apropriado para o teu controlo personalizado.

A classe Control é a classe base para todos os controlos ASP.NET servidor, incluindo controlos personalizados, controlos de utilizador e páginas. ASP.NET páginas são instâncias da classe Page, que herda da classe Control, e que tratam de pedidos para ficheiros com extensão .aspx.

A Control classe pode ser usada direta ou indiretamente como parte da interface do utilizador da sua aplicação Web e, como tal, deve ser analisada para garantir que as melhores práticas para escrever código seguro e proteger aplicações são seguidas.

Para informações gerais sobre estes temas, consulte Visão Geral das Ameaças à Segurança das Aplicações Web, Boas Práticas de Política de Segurança e Conceitos Chave de Segurança. Para informações mais específicas, veja Segurança dos Controlos Padrão, Como: Exibir Mensagens de Erro Seguras, Como: Proteger contra Explorações de Scripts numa Aplicação de Códigos Aplicando Codificação HTML a Strings, e Introdução aos Controlos de Validação.

Construtores

Name Description
Control()

Inicializa uma nova instância da Control classe.

Propriedades

Name Description
Adapter

Recebe o adaptador específico do navegador para o controlo.

AppRelativeTemplateSourceDirectory

Obtém ou define o diretório virtual relativo à aplicação do Page objeto ou UserControl que contém este controlo.

BindingContainer

Obtém o controlo que contém a ligação de dados desse controlo.

ChildControlsCreated

Recebe um valor que indica se os controlos filhos do controlo do servidor foram criados.

ClientID

Obtém o ID de controlo para a marcação HTML gerada pelo ASP.NET.

ClientIDMode

Obtém ou define o algoritmo que é usado para gerar o valor da ClientID propriedade.

ClientIDSeparator

Obtém um valor de carácter que representa o carácter separador usado na ClientID propriedade.

Context

Obtém o controlo do HttpContext objeto associado ao servidor para o pedido Web atual.

Controls

Obtém um ControlCollection objeto que representa os controlos filhos de um servidor especificado na hierarquia da interface.

DataItemContainer

Obtém uma referência ao contentor de nomes se o contentor implementar IDataItemContainer.

DataKeysContainer

Obtém uma referência ao contentor de nomes se o contentor implementar IDataKeysControl.

DesignMode

Obtém um valor que indica se um controlo está a ser usado numa superfície de projeto.

EnableTheming

Recebe ou define um valor que indica se os temas se aplicam a este controlo.

EnableViewState

Recebe ou define um valor que indica se o controlo do servidor mantém o seu estado de visualização, e o estado de vista de quaisquer controlos filhos que contém, para o cliente solicitante.

Events

Obtém uma lista de delegados handler de eventos para o controlo. Esta propriedade é somente leitura.

HasChildViewState

Recebe um valor que indica se os controlos filhos do controlo atual do servidor têm alguma configuração de estado de visualização guardada.

ID

Obtém ou define o identificador programático atribuído ao controlo do servidor.

IdSeparator

Faz com que o carácter seja usado para separar identificadores de controlo.

IsChildControlStateCleared

Obtém um valor que indica se os controlos contidos neste controlo têm estado de controlo.

IsTrackingViewState

Recebe um valor que indica se o controlo do servidor está a guardar alterações ao estado de visualização.

IsViewStateEnabled

Recebe um valor que indica se o estado de visualização está ativado para este controlo.

LoadViewStateByID

Recebe um valor que indica se o controlo participa no carregamento do seu estado de visualização em ID vez de index.

NamingContainer

Obtém uma referência ao contentor de nomes do controlo do servidor, que cria um namespace único para diferenciar controlos de servidor com o mesmo ID valor de propriedade.

Page

Obtém uma referência à Page instância que contém o controlo do servidor.

Parent

Obtém uma referência ao controlo pai do controlo do servidor na hierarquia de controlo de página.

RenderingCompatibility

Recebe um valor que especifica a versão ASP.NET com a qual o HTML renderizado será compatível.

Site

Obtém informação sobre o contentor que aloja o controlo atual quando renderizado numa superfície de design.

SkinID

Obtém ou fixa a pele para aplicar no controlo.

TemplateControl

Recebe ou define uma referência ao template que contém esse controlo.

TemplateSourceDirectory

Obtém o diretório virtual do Page ou UserControl que contém o controlo atual do servidor.

UniqueID

Obtém o identificador único e hierarquicamente qualificado para o controlo do servidor.

ValidateRequestMode

Recebe ou define um valor que indica se o controlo verifica a entrada do cliente do navegador para valores potencialmente perigosos.

ViewState

Obtém um dicionário de informação de estado que permite guardar e restaurar o estado de visualização de um controlo de servidor através de múltiplos pedidos para a mesma página.

ViewStateIgnoresCase

Obtém um valor que indica se o StateBag objeto é indistinto a maiúsculas e maiúsculas.

ViewStateMode

Obtém ou define o modo view-state deste controlo.

Visible

Recebe ou define um valor que indica se um controlo de servidor é renderizado como UI na página.

Métodos

Name Description
AddedControl(Control, Int32)

Chamado após um controlo filho ser adicionado à Controls coleção do Control objeto.

AddParsedSubObject(Object)

Notifica o controlo do servidor que um elemento, seja XML ou HTML, foi analisado, e adiciona o elemento ao objeto do ControlCollection controlo do servidor.

ApplyStyleSheetSkin(Page)

Aplica as propriedades de estilo definidas na folha de estilo da página ao controlo.

BeginRenderTracing(TextWriter, Object)

Inicia o rastreio em tempo de design dos dados de renderização.

BuildProfileTree(String, Boolean)

Recolhe informações sobre o controlo do servidor e entrega-as à Trace propriedade para serem exibidas quando o rastreamento for ativado para a página.

ClearCachedClientID()

Define o valor em ClientID cache para null.

ClearChildControlState()

Apaga a informação de estado de controlo dos controlos filhos do controlo do servidor.

ClearChildState()

Apaga a informação de view-state e control-state de todos os controlos filhos do servidor.

ClearChildViewState()

Elimina a informação de estado de visualização de todos os controlos filhos do controlo do servidor.

ClearEffectiveClientIDMode()

Define a ClientIDMode propriedade da instância de controlo atual e de qualquer controlo filho para Inherit.

CreateChildControls()

Chamada pelo framework de páginas ASP.NET para notificar os controlos de servidor que utilizam implementação baseada em composição para criar quaisquer controlos filhos que contenham em preparação para publicação ou renderização.

CreateControlCollection()

Cria um novo ControlCollection objeto para armazenar os controlos filhos (tanto literais como de servidor) do controlo do servidor.

DataBind()

Vincula uma fonte de dados ao controlo do servidor invocado e a todos os seus controlos filhos.

DataBind(Boolean)

Vincula uma fonte de dados ao controlo do servidor invocado e a todos os seus controlos filhos com uma opção para elevar o DataBinding evento.

DataBindChildren()

Vincula uma fonte de dados aos controlos filhos do controlo do servidor.

Dispose()

Permite que o controlo do servidor realize a limpeza final antes de ser libertado da memória.

EndRenderTracing(TextWriter, Object)

Termina o rastreio de tempo de design dos dados de renderização.

EnsureChildControls()

Determina se o controlo do servidor contém controlos filhos. Se não o fizer, cria controlos filhos.

EnsureID()

Cria um identificador para controlos que não têm um identificador atribuído.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
FindControl(String, Int32)

Pesquisa no contentor de nomenclatura atual um controlo de servidor com o especificado id e um inteiro, especificados no pathOffset parâmetro, o que auxilia na pesquisa. Não deve sobrepor-se a esta versão do FindControl método.

FindControl(String)

Procura no contentor de nomenclatura atual um controlo de servidor com o parâmetro especificado id .

Focus()

Define o foco de entrada num controlo.

GetDesignModeState()

Obtém dados de tempo de projeto para um controlo.

GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetRouteUrl(Object)

Obtém a URL que corresponde a um conjunto de parâmetros de rota.

GetRouteUrl(RouteValueDictionary)

Obtém a URL que corresponde a um conjunto de parâmetros de rota.

GetRouteUrl(String, Object)

Obtém o URL que corresponde a um conjunto de parâmetros de rota e a um nome de rota.

GetRouteUrl(String, RouteValueDictionary)

Obtém o URL que corresponde a um conjunto de parâmetros de rota e a um nome de rota.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
GetUniqueIDRelativeTo(Control)

Devolve a parte prefixada da UniqueID propriedade do controlo especificado.

HasControls()

Determina se o controlo do servidor contém algum controlo filho.

HasEvents()

Devolve um valor que indica se os eventos estão registados para o controlo ou para quaisquer controlos filhos.

IsLiteralContent()

Determina se o controlo do servidor contém apenas conteúdo literal.

LoadControlState(Object)

Restaura a informação do estado de controlo a partir de um pedido de página anterior que foi guardado pelo SaveControlState() método.

LoadViewState(Object)

Restaura a informação de estado de visualização de um pedido anterior de página que foi guardado pelo SaveViewState() método.

MapPathSecure(String)

Recupera o caminho físico para o qual um caminho virtual, seja absoluto ou relativo, mapeia.

MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
OnBubbleEvent(Object, EventArgs)

Determina se o evento para o controlo do servidor é passado para a hierarquia de controlo do servidor UI da página.

OnDataBinding(EventArgs)

Eleva o DataBinding evento.

OnInit(EventArgs)

Eleva o Init evento.

OnLoad(EventArgs)

Eleva o Load evento.

OnPreRender(EventArgs)

Eleva o PreRender evento.

OnUnload(EventArgs)

Eleva o Unload evento.

OpenFile(String)

Recebe um Stream usado para ler um ficheiro.

RaiseBubbleEvent(Object, EventArgs)

Atribui quaisquer fontes do evento e da sua informação ao pai do controlo.

RemovedControl(Control)

Chamado após um controlo filho ser removido da Controls coleção do Control objeto.

Render(HtmlTextWriter)

Envia conteúdo de controlo do servidor para um objeto fornecido HtmlTextWriter , que escreve o conteúdo a ser renderizado no cliente.

RenderChildren(HtmlTextWriter)

Exporta o conteúdo dos filhos de um controlo de servidor para um objeto fornecido HtmlTextWriter , que escreve o conteúdo a ser renderizado no cliente.

RenderControl(HtmlTextWriter, ControlAdapter)

Fornece conteúdo de controlo do servidor para um objeto fornecido HtmlTextWriter usando um objeto fornecido ControlAdapter .

RenderControl(HtmlTextWriter)

Fornece conteúdo de controlo do servidor para um objeto fornecido HtmlTextWriter e armazena informação de rastreamento sobre o controlo se o rastreio estiver ativado.

ResolveAdapter()

Faz com que o adaptador de controlo seja responsável por renderizar o controlo especificado.

ResolveClientUrl(String)

Recebe um URL que pode ser usado pelo navegador.

ResolveUrl(String)

Converte uma URL numa que seja utilizável no cliente solicitante.

SaveControlState()

Guarda quaisquer alterações no estado de controlo do servidor que tenham ocorrido desde que a página foi publicada de volta no servidor.

SaveViewState()

Guarda quaisquer alterações de estado de visualização no controlo do servidor que tenham ocorrido desde o momento em que a página foi publicada de volta no servidor.

SetDesignModeState(IDictionary)

Define dados em tempo de projeto para um controlo.

SetRenderMethodDelegate(RenderMethod)

Atribui um delegado handler de eventos para renderizar o controlo do servidor e o seu conteúdo no controlo pai.

SetTraceData(Object, Object, Object)

Define os dados de rastreio para o rastreio em tempo de design dos dados de renderização, usando o objeto rastreado, a chave de dados de traço e o valor dos dados de traço.

SetTraceData(Object, Object)

Define os dados de rastreio para o rastreio em tempo de design dos dados de renderização, usando a chave de dados de traço e o valor dos dados de traço.

ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)
TrackViewState()

Causa o rastreio das alterações de estado de visualização no controlo do servidor para que possam ser armazenadas no objeto do StateBag controlo do servidor. Este objeto é acessível através da ViewState propriedade.

evento

Name Description
DataBinding

Ocorre quando o controlo do servidor se liga a uma fonte de dados.

Disposed

Ocorre quando um controlo de servidor é libertado da memória, que é a última etapa do ciclo de vida do controlo do servidor quando uma página ASP.NET é solicitada.

Init

Ocorre quando o controlo do servidor é inicializado, que é o primeiro passo no seu ciclo de vida.

Load

Ocorre quando o controlo do servidor é carregado no Page objeto.

PreRender

Ocorre depois do carregamento do Control objeto, mas antes da renderização.

Unload

Ocorre quando o controlo do servidor é descarregado da memória.

Implementações de Interface Explícita

Name Description
IControlBuilderAccessor.ControlBuilder

Para uma descrição deste elemento, veja ControlBuilder.

IControlDesignerAccessor.GetDesignModeState()

Para uma descrição deste elemento, veja GetDesignModeState().

IControlDesignerAccessor.SetDesignModeState(IDictionary)

Para uma descrição deste elemento, veja SetDesignModeState(IDictionary).

IControlDesignerAccessor.SetOwnerControl(Control)

Para uma descrição deste elemento, veja SetOwnerControl(Control).

IControlDesignerAccessor.UserData

Para uma descrição deste elemento, veja UserData.

IDataBindingsAccessor.DataBindings

Para uma descrição deste elemento, veja DataBindings.

IDataBindingsAccessor.HasDataBindings

Para uma descrição deste elemento, veja HasDataBindings.

IExpressionsAccessor.Expressions

Para uma descrição deste elemento, veja Expressions.

IExpressionsAccessor.HasExpressions

Para uma descrição deste elemento, veja HasExpressions.

IParserAccessor.AddParsedSubObject(Object)

Para uma descrição deste elemento, veja AddParsedSubObject(Object).

Métodos da Extensão

Name Description
FindDataSourceControl(Control)

Devolve a fonte de dados associada ao controlo de dados para o controlo especificado.

FindFieldTemplate(Control, String)

Devolve o modelo de campo para a coluna especificada no contentor de nomenclatura do controlo especificado.

FindMetaTable(Control)

Devolve o objeto metatable para o controlo de dados que contém.

Aplica-se a

Ver também