Condividi tramite


Control Classe

Definizione

Definisce proprietà, metodi ed eventi condivisi da tutti i controlli server 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
Ereditarietà
Control
Derivato
Attributi
Implementazioni

Esempio

Nell'esempio seguente viene illustrato un controllo server personalizzato che deriva dalla Control classe . La InnerContent classe esegue l'override del Control.Render metodo , verifica se la classe dispone di controlli figlio nella pagina e determina se il primo elemento figlio del controllo è un controllo letterale. Se vengono soddisfatte entrambe queste condizioni, il metodo sottoposto a override scrive la stringa <HTML H2>Your Message:, il contenuto del controllo letterale e un tag /H2> di chiusura <nella pagina Web Form.

Importante

L'esempio include una casella di testo che accetta l'input dell'utente e rappresenta quindi una potenziale minaccia alla sicurezza. Per impostazione predefinita, le pagine Web ASP.NET verificano che l'input dell'utente non includa script o elementi HTML. Per altre informazioni, vedere Cenni preliminari sugli attacchi tramite script.

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

Commenti

Si tratta della classe primaria derivata da quando si sviluppano controlli server ASP.NET personalizzati. Control non dispone di funzionalità specifiche dell'interfaccia utente. Se si crea un controllo che non dispone di un'interfaccia utente o si combinano altri controlli che eseguono il rendering della propria interfaccia utente, derivano da Control. Se si crea un controllo che dispone di un'interfaccia utente, derivare da WebControl o da qualsiasi controllo nello System.Web.UI.WebControls spazio dei nomi che fornisce un punto di partenza appropriato per il controllo personalizzato.

La Control classe è la classe base per tutti i controlli server ASP.NET, inclusi controlli personalizzati, controlli utente e pagine. ASP.NET pagine sono istanze della Page classe , che eredita dalla Control classe e che gestiscono le richieste per i file con estensione .aspx.

La Control classe può essere usata direttamente o indirettamente come parte dell'interfaccia utente per l'applicazione Web e, di conseguenza, deve essere esaminata per assicurarsi che vengano seguite le procedure consigliate per la scrittura di codice sicuro e la protezione delle applicazioni.

Per informazioni generali su questi argomenti, vedere Panoramica delle minacce per la sicurezza delle applicazioni Web, procedure consigliate per i criteri di sicurezza e concetti chiave relativi alla sicurezza. Per informazioni più specifiche, vedere Protezione dei controlli standard, Procedura: Visualizzare messaggi di errore sicuri, Procedura: Proteggere dagli exploit di script in un'applicazione Web applicando la codifica HTML alle stringhe e Introduzione ai controlli di convalida.

Costruttori

Control()

Inizializza una nuova istanza della classe Control.

Proprietà

Adapter

Ottiene l'adattatore specifico del browser per il controllo.

AppRelativeTemplateSourceDirectory

Ottiene o imposta la directory virtuale relativa all'applicazione dell'oggetto Page o UserControl contenente questo controllo.

BindingContainer

Ottiene il controllo contenente l'associazione dati del controllo corrente.

ChildControlsCreated

Ottiene un valore che indica se i controlli figli del controllo server sono stati creati.

ClientID

Ottiene l'ID di controllo per il markup HTML generato da ASP.NET.

ClientIDMode

Ottiene o imposta l'algoritmo utilizzato per generare il valore della proprietà ClientID.

ClientIDSeparator

Ottiene un carattere che rappresenta il separatore utilizzato nella proprietà ClientID.

Context

Ottiene l'oggetto HttpContext associato al controllo server per la richiesta Web corrente.

Controls

Ottiene un oggetto ControlCollection che rappresenta i controlli figlio per un controllo server specificato nella gerarchia dell'interfaccia utente.

DataItemContainer

Ottiene un riferimento al contenitore di denominazione se il contenitore di denominazione implementa IDataItemContainer.

DataKeysContainer

Ottiene un riferimento al contenitore di denominazione se il contenitore di denominazione implementa IDataKeysControl.

DesignMode

Ottiene un valore che indica se un controllo viene utilizzato in un'area di progettazione.

EnableTheming

Ottiene o imposta un valore che indica se al controllo vengono applicati i temi.

EnableViewState

Ottiene o imposta un valore che indica se lo stato di visualizzazione del controllo server deve essere persistente e lo stato di visualizzazione dei controlli figlio contenuti, per il client richiedente.

Events

Ottiene un elenco dei delegati del gestore eventi per il controllo. Questa proprietà è di sola lettura.

HasChildViewState

Ottiene un valore che indica se per i controlli figlio del controllo server corrente esistono impostazioni dello stato di visualizzazione salvate.

ID

Ottiene o imposta l'identificatore a livello di codice assegnato al controllo server.

IdSeparator

Ottiene il carattere utilizzato per separare gli identificatori di controllo.

IsChildControlStateCleared

Ottiene un valore che indica se i controlli contenuti in questo controllo dispongono di informazioni sullo stato del controllo.

IsTrackingViewState

Ottiene un valore che indica se il controllo server salva le modifiche allo stato di visualizzazione.

IsViewStateEnabled

Ottiene un valore che indica se lo stato di visualizzazione è attivato per il controllo corrente.

LoadViewStateByID

Ottiene un valore che indica se il controllo prende parte al caricamento del proprio stato di visualizzazione tramite ID anziché tramite l'indice.

NamingContainer

Ottiene un riferimento al contenitore dei nomi del controllo server, che crea uno spazio dei nomi univoco per distinguere i controlli server che hanno lo stesso valore della proprietà ID.

Page

Ottiene un riferimento all'istanza Page che contiene il controllo server.

Parent

Ottiene un riferimento al controllo padre del controllo server nella gerarchia dei controlli della pagina.

RenderingCompatibility

Ottiene un valore che specifica la versione di ASP.NET con cui sarà compatibile il codice HTML di cui è stato eseguito il rendering.

Site

Ottiene informazioni sul contenitore del controllo corrente quando viene eseguito il rendering in un'area di progettazione.

SkinID

Ottiene o imposta l'interfaccia personalizzata da applicare al controllo.

TemplateControl

Ottiene o imposta un riferimento al modello che contiene il controllo.

TemplateSourceDirectory

Ottiene la directory virtuale dell'oggetto Page o dell'oggetto UserControl che contiene il controllo server corrente.

UniqueID

Ottiene l'identificatore univoco qualificato gerarchicamente per il controllo server.

ValidateRequestMode

Ottiene o imposta un valore che indica se il controllo verifica la presenza di valori potenzialmente pericolosi nell'input proveniente dal browser.

ViewState

Ottiene un dizionario di informazioni sullo stato che permette di salvare e ripristinare lo stato di visualizzazione di un controllo server attraverso più richieste per la stessa pagina.

ViewStateIgnoresCase

Ottiene un valore che indica se l'oggetto StateBag non effettua la distinzione tra maiuscole e minuscole.

ViewStateMode

Ottiene o imposta la modalità dello stato, visualizzazione di questo controllo.

Visible

Ottiene o imposta un valore che indica se viene eseguito il rendering di un controllo server come interfaccia utente nella pagina.

Metodi

AddedControl(Control, Int32)

Chiamato dopo che un controllo figlio viene aggiunto alla raccolta Controls dell'oggetto Control.

AddParsedSubObject(Object)

Notifica al controllo server che un elemento, XML o HTML, è stato analizzato e aggiunge l'elemento all'oggetto ControlCollection del controllo server.

ApplyStyleSheetSkin(Page)

Applica al controllo le proprietà di stile definite nel foglio di stile della pagina.

BeginRenderTracing(TextWriter, Object)

Inizia la traccia in fase di progettazione dei dati di rendering.

BuildProfileTree(String, Boolean)

Raccoglie informazioni sul controllo server e le recapita alla proprietà Trace in modo che vengano visualizzate quando è attivata la tracciatura per la pagina.

ClearCachedClientID()

Imposta il valore memorizzato nella cache ClientID su null.

ClearChildControlState()

Elimina le informazioni sullo stato del controllo per i controlli figlio del controllo server.

ClearChildState()

Elimina le informazioni sullo stato di visualizzazione e sullo stato del controllo per tutti i controlli figlio del controllo server.

ClearChildViewState()

Elimina le informazioni sullo stato di visualizzazione per tutti i controlli figlio del controllo server.

ClearEffectiveClientIDMode()

Imposta la proprietà ClientIDMode dell'istanza del controllo corrente e di tutti i controlli figlio su Inherit.

CreateChildControls()

Viene chiamato dal framework della pagina ASP.NET per notificare ai controlli server che usano un'implementazione basata sulla composizione di creare gli eventuali controlli figlio in essi contenuti in preparazione per il postback o il rendering.

CreateControlCollection()

Crea un nuovo oggetto ControlCollection per contenere i controlli figlio (valore letterale e server) del controllo del server.

DataBind()

Associa un'origine dati al controllo server richiamato e a tutti i controlli figlio.

DataBind(Boolean)

Associa un'origine dati al controllo server chiamato e ai relativi controlli figlio con un'opzione per generare l'evento DataBinding.

DataBindChildren()

Associa un'origine dati al controllo server e ai relativi controlli figlio.

Dispose()

Abilita un controllo server alla pulizia finale prima che venga rilasciato dalla memoria.

EndRenderTracing(TextWriter, Object)

Termina la traccia in fase di progettazione dei dati di rendering.

EnsureChildControls()

Determina se il controllo server contiene controlli figlio. In caso contrario, li crea.

EnsureID()

Crea un identificatore per i controlli a cui non è assegnato alcun identificatore.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
FindControl(String)

Cerca un controllo server nel contenitore dei nomi corrente con il parametro id specificato.

FindControl(String, Int32)

Cerca nel contenitore di denominazione corrente un controllo server con il parametro id indicato e un intero, specificato nel parametro pathOffset, che agevola la ricerca. Non eseguire l'override di questa versione del metodo FindControl.

Focus()

Imposta lo stato attivo per l'input su un controllo.

GetDesignModeState()

Ottiene i dati della fase di progettazione per un controllo.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetRouteUrl(Object)

Ottiene l'URL corrispondente a un set di parametri di route.

GetRouteUrl(RouteValueDictionary)

Ottiene l'URL corrispondente a un set di parametri di route.

GetRouteUrl(String, Object)

Ottiene l'URL che corrisponde a un set di parametri di route e a un nome della route.

GetRouteUrl(String, RouteValueDictionary)

Ottiene l'URL che corrisponde a un set di parametri di route e a un nome della route.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
GetUniqueIDRelativeTo(Control)

Restituisce la parte con prefisso della proprietà UniqueID del controllo specificato.

HasControls()

Determina se il controllo server contiene controlli figlio.

HasEvents()

Restituisce un valore che indica se gli eventi vengono registrati per il controllo o eventuali controlli figlio.

IsLiteralContent()

Determina se il controllo server conserva solo il contenuto literal.

LoadControlState(Object)

Ripristina le informazioni sullo stato del controllo da una richiesta di pagina precedente salvata dal metodo SaveControlState().

LoadViewState(Object)

Ripristina le informazioni sullo stato di visualizzazione da una richiesta di pagina precedente salvata dal metodo SaveViewState().

MapPathSecure(String)

Recupera il percorso fisico al quale è associato un percorso virtuale, assoluto o relativo.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
OnBubbleEvent(Object, EventArgs)

Determina se l'evento per il controllo server viene passato a un livello superiore nella gerarchia dei controlli server dell'interfaccia utente per la pagina.

OnDataBinding(EventArgs)

Genera l'evento DataBinding.

OnInit(EventArgs)

Genera l'evento Init.

OnLoad(EventArgs)

Genera l'evento Load.

OnPreRender(EventArgs)

Genera l'evento PreRender.

OnUnload(EventArgs)

Genera l'evento Unload.

OpenFile(String)

Ottiene un oggetto Stream utilizzato per leggere un file.

RaiseBubbleEvent(Object, EventArgs)

Assegna eventuali origini dell'evento e relative informazioni al controllo padre.

RemovedControl(Control)

Chiamato dopo che un controllo figlio viene rimosso dalla raccolta Controls dell'oggetto Control.

Render(HtmlTextWriter)

Invia il contenuto del controllo server a un oggetto HtmlTextWriter specificato che scrive il contenuto di cui eseguire il rendering nel client.

RenderChildren(HtmlTextWriter)

Restituisce il contenuto degli elementi figlio di un controllo server a un oggetto HtmlTextWriter specificato, che scrive il contenuto di cui eseguire il rendering nel client.

RenderControl(HtmlTextWriter)

Restituisce il contenuto del controllo server a un oggetto HtmlTextWriter specificato e archivia le informazioni di traccia relative al controllo se la funzionalità di traccia è abilitata.

RenderControl(HtmlTextWriter, ControlAdapter)

Restituisce il contenuto del controllo server a un oggetto HtmlTextWriter specificato utilizzando un oggetto ControlAdapter specificato.

ResolveAdapter()

Ottiene l'adattatore del controllo responsabile del rendering del controllo specificato.

ResolveClientUrl(String)

Ottiene un URL che può essere utilizzato dal browser.

ResolveUrl(String)

Converte un URL in un formato utilizzabile dal client richiedente.

SaveControlState()

Salva tutte le modifiche dello stato di un controllo server apportate dopo il postback della pagina nel server.

SaveViewState()

Salva eventuali modifiche dello stato di visualizzazione di un controllo server apportate dopo il postback della pagina nel server.

SetDesignModeState(IDictionary)

Imposta i dati della fase di progettazione per un controllo.

SetRenderMethodDelegate(RenderMethod)

Assegna un delegato del gestore eventi per eseguire il rendering del controllo server e del relativo contenuto nel controllo padre.

SetTraceData(Object, Object)

Imposta i dati di traccia per la traccia durante la fase di progettazione dei dati di rendering, utilizzando la chiave dei dati di traccia e il valore dei dati di traccia.

SetTraceData(Object, Object, Object)

Imposta i dati di traccia per la traccia durante la fase di progettazione dei dati di rendering, utilizzando l'oggetto tracciato, la chiave dei dati di traccia e il valore dei dati di traccia.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
TrackViewState()

Attiva il rilevamento delle modifiche dello stato di visualizzazione nel controllo server per consentirne la memorizzazione nell'oggetto StateBag del controllo server. È possibile accedere a questo oggetto tramite la proprietà ViewState.

Eventi

DataBinding

Viene generato quando il controllo server viene associato a un'origine dati.

Disposed

Si verifica quando un controllo server viene rilasciato dalla memoria, ossia nell'ultima fase della durata di un controllo server quando viene richiesta una pagina ASP.NET.

Init

Viene generato quando il controllo server viene inizializzato, ovvero nella prima fase della sua durata.

Load

Viene generato quando il controllo server è caricato nell'oggetto Page.

PreRender

Si verifica dopo il caricamento dell'oggetto Control ma prima del rendering.

Unload

Viene generato quando il controllo server viene scaricato dalla memoria.

Implementazioni dell'interfaccia esplicita

IControlBuilderAccessor.ControlBuilder

Per una descrizione di questo membro, vedere ControlBuilder.

IControlDesignerAccessor.GetDesignModeState()

Per una descrizione di questo membro, vedere GetDesignModeState().

IControlDesignerAccessor.SetDesignModeState(IDictionary)

Per una descrizione di questo membro, vedere SetDesignModeState(IDictionary).

IControlDesignerAccessor.SetOwnerControl(Control)

Per una descrizione di questo membro, vedere SetOwnerControl(Control).

IControlDesignerAccessor.UserData

Per una descrizione di questo membro, vedere UserData.

IDataBindingsAccessor.DataBindings

Per una descrizione di questo membro, vedere DataBindings.

IDataBindingsAccessor.HasDataBindings

Per una descrizione di questo membro, vedere HasDataBindings.

IExpressionsAccessor.Expressions

Per una descrizione di questo membro, vedere Expressions.

IExpressionsAccessor.HasExpressions

Per una descrizione di questo membro, vedere HasExpressions.

IParserAccessor.AddParsedSubObject(Object)

Per una descrizione di questo membro, vedere AddParsedSubObject(Object).

Metodi di estensione

FindDataSourceControl(Control)

Restituisce l'origine dati associata al controllo dati per il controllo specificato.

FindFieldTemplate(Control, String)

Restituisce il modello di campo per la colonna specificata nel contenitore di denominazione del controllo specificato.

FindMetaTable(Control)

Restituisce l'oggetto metatabella per il controllo contenitore dei dati.

Si applica a

Vedi anche