Classe Control (System.Web.UI)

Cambia visualizzazione:
ScriptFree
Riferimento a .NET Framework
Classe Control
Il presente articolo è stato tradotto manualmente. Per visualizzare questa pagina e contemporaneamente visualizzarne il contenuto in lingua inglese, passare alla visualizzazione semplificata.

Definisce le proprietà, i metodi e gli eventi condivisi da tutti i controlli server ASP.NET.

Gerarchia di ereditarietà

System.Object
  System.Web.UI.Control
    Ulteriori informazioni

Spazio dei nomi:  System.Web.UI
Assembly:  System.Web (in System.Web.dll)
Sintassi

Visual Basic
<BindableAttribute(True)> _
<ThemeableAttribute(False)> _
Public Class Control _
	Implements IComponent, IDisposable, IParserAccessor, IUrlResolutionService,  _
	IDataBindingsAccessor, IControlBuilderAccessor, IControlDesignerAccessor, IExpressionsAccessor
C#
[BindableAttribute(true)]
[ThemeableAttribute(false)]
public class Control : IComponent, IDisposable, 
	IParserAccessor, IUrlResolutionService, IDataBindingsAccessor, IControlBuilderAccessor, IControlDesignerAccessor, 
	IExpressionsAccessor
Visual C++
[BindableAttribute(true)]
[ThemeableAttribute(false)]
public ref class Control : IComponent, 
	IDisposable, IParserAccessor, IUrlResolutionService, IDataBindingsAccessor, IControlBuilderAccessor, 
	IControlDesignerAccessor, IExpressionsAccessor
F#
[<BindableAttribute(true)>]
[<ThemeableAttribute(false)>]
type Control =  
    class
        interface IComponent
        interface IDisposable
        interface IParserAccessor
        interface IUrlResolutionService
        interface IDataBindingsAccessor
        interface IControlBuilderAccessor
        interface IControlDesignerAccessor
        interface IExpressionsAccessor
    end

Il tipo Control espone i seguenti membri.

Costruttori

  Nome Descrizione
Metodo pubblico Control Inizializza una nuova istanza della classe Control.
In alto
Proprietà

  Nome Descrizione
Proprietà protetta. Adapter Ottiene l'adattatore specifico del browser per il controllo.
Proprietà pubblica AppRelativeTemplateSourceDirectory Ottiene o imposta la directory virtuale relativa all'applicazione dell'oggetto Page o UserControl contenente questo controllo.
Proprietà pubblica BindingContainer Infrastruttura. Ottiene il controllo contenente l'associazione dati del controllo corrente.
Proprietà protetta. ChildControlsCreated Ottiene un valore che indica se i controlli figli del controllo server sono stati creati.
Proprietà pubblica ClientID Ottiene l'ID controllo per il markup HTML generato da ASP.NET.
Proprietà pubblica ClientIDMode Ottiene o imposta l'algoritmo utilizzato per generare il valore della proprietà ClientID.
Proprietà protetta. ClientIDSeparator Ottiene un carattere che rappresenta il separatore utilizzato nella proprietà ClientID.
Proprietà protetta. Context Ottiene l'oggetto HttpContext associato al controllo server per la richiesta Web corrente.
Proprietà pubblica Controls Ottiene un oggetto ControlCollection che rappresenta i controlli figlio per un controllo server specificato nella gerarchia dell'interfaccia utente.
Proprietà pubblica DataItemContainer Ottiene un riferimento al contenitore di denominazione se il contenitore di denominazione implementa IDataItemContainer.
Proprietà pubblica DataKeysContainer Ottiene un riferimento al contenitore di denominazione se il contenitore di denominazione implementa IDataKeysControl.
Proprietà protetta. DesignMode Ottiene un valore che indica se un controllo viene utilizzato in un'area di progettazione.
Proprietà pubblica EnableTheming Ottiene o imposta un valore che indica se al controllo vengono applicati i temi.
Proprietà pubblica EnableViewState Ottiene o imposta un valore che indica se il controllo server conserva il proprio stato di visualizzazione e lo stato di visualizzazione dei controlli figlio in esso contenuti per il client richiedente.
Proprietà protetta. Events Ottiene un elenco dei delegati del gestore eventi per il controllo. Questa proprietà è in sola lettura.
Proprietà protetta. HasChildViewState Ottiene un valore che indica se per i controlli figlio del controllo server corrente esistono impostazioni dello stato di visualizzazione salvate.
Proprietà pubblica ID Ottiene o imposta l'identificatore a livello di codice assegnato al controllo server.
Proprietà protetta. IdSeparator Infrastruttura. Ottiene il carattere utilizzato per separare gli identificatori di controllo.
Proprietà protetta. IsChildControlStateCleared Ottiene un valore che indica se i controlli contenuti in questo controllo dispongono di informazioni sullo stato del controllo.
Proprietà protetta. IsTrackingViewState Ottiene un valore che indica se il controllo server salva le modifiche allo stato di visualizzazione.
Proprietà protetta. IsViewStateEnabled Ottiene un valore che indica se lo stato di visualizzazione è attivato per il controllo corrente.
Proprietà protetta. LoadViewStateByID Ottiene un valore che indica se il controllo prende parte al caricamento del proprio stato di visualizzazione tramite ID anziché tramite l'indice.
Proprietà pubblica 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à Control.ID.
Proprietà pubblica Page Ottiene un riferimento all'istanza Page che contiene il controllo server.
Proprietà pubblica Parent Ottiene un riferimento al controllo padre del controllo server nella gerarchia dei controlli della pagina.
Proprietà pubblica RenderingCompatibility Ottiene un valore che specifica la versione di ASP.NET con cui sarà compatibile il codice HTML di cui è stato eseguito il rendering.
Proprietà pubblica Site Ottiene informazioni sul contenitore del controllo corrente quando viene eseguito il rendering in un'area di progettazione.
Proprietà pubblica SkinID Ottiene o imposta l'interfaccia da applicare al controllo.
Proprietà pubblica TemplateControl Ottiene o imposta un riferimento al modello che contiene il controllo.
Proprietà pubblica TemplateSourceDirectory Ottiene la directory virtuale dell'oggetto Page o dell'oggetto UserControl che contiene il controllo server corrente.
Proprietà pubblica UniqueID Ottiene l'identificatore univoco qualificato gerarchicamente per il controllo server.
Proprietà protetta. 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.
Proprietà protetta. ViewStateIgnoresCase Ottiene un valore che indica se l'oggetto StateBag non effettua la distinzione tra maiuscole e minuscole.
Proprietà pubblica ViewStateMode Ottiene o imposta la modalità dello stato, visualizzazione di questo controllo.
Proprietà pubblica Visible Ottiene o imposta un valore che indica se un controllo server viene visualizzato come interfaccia utente sulla pagina.
In alto
Metodi

  Nome Descrizione
Metodo protetto AddedControl Viene chiamato dopo che un controllo è stato aggiunto all'insieme Controls dell'oggetto Control.
Metodo protetto AddParsedSubObject Notifica al controllo server che un elemento, XML o HTML, è stato analizzato e aggiunge l'elemento all'oggetto ControlCollection del controllo server.
Metodo pubblico ApplyStyleSheetSkin Applica al controllo le proprietà di stile definite nel foglio di stile della pagina.
Metodo protetto BuildProfileTree Infrastruttura. Raccoglie informazioni sul controllo server e le recapita alla proprietà Trace in modo che vengano visualizzate quando è attivata la tracciatura per la pagina.
Metodo protetto ClearCachedClientID Infrastruttura. Imposta il valore memorizzato nella cache ClientID su null.
Metodo protetto ClearChildControlState Elimina le informazioni sullo stato del controllo per i controlli figlio del controllo server.
Metodo protetto ClearChildState Elimina le informazioni sullo stato di visualizzazione e sullo stato del controllo per tutti i controlli figlio del controllo server.
Metodo protetto ClearChildViewState Elimina le informazioni sullo stato di visualizzazione per tutti i controlli figlio del controllo server.
Metodo protetto ClearEffectiveClientIDMode Infrastruttura. Imposta la proprietà ClientIDMode dell'istanza del controllo corrente e di tutti i controlli figlio su Inherit.
Metodo protetto CreateChildControls Viene chiamato dal framework della pagina ASP.NET per notificare ai controlli server che utilizzano un'implementazione basata sulla composizione di creare gli eventuali controlli figlio in essi contenuti per la preparazione al postback o al rendering.
Metodo protetto CreateControlCollection Crea un nuovo oggetto ControlCollection per contenere i controlli figlio (letterali e server) del controllo server.
Metodo pubblico DataBind() Associa un'origine dati al controllo server richiamato e a tutti i relativi controlli figlio.
Metodo protetto DataBind(Boolean) Associa un'origine dati al controllo server chiamato e ai relativi controlli figlio con un'opzione per generare l'evento DataBinding.
Metodo protetto DataBindChildren Associa un'origine dati al controllo server e ai relativi controlli figlio.
Metodo pubblico Dispose Abilita un controllo server alla pulizia finale prima che venga rilasciato dalla memoria.
Metodo protetto EnsureChildControls Determina se il controllo server contiene controlli figlio. In caso contrario, li crea.
Metodo protetto EnsureID Crea un identificatore per i controlli a cui non è assegnato alcun identificatore.
Metodo pubblico Equals(Object) Determina se l'oggetto Object specificato è uguale all'oggetto Object corrente. (Ereditato da Object)
Metodo protetto Finalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblico FindControl(String) Cerca un controllo server nel contenitore dei nomi corrente con il parametro id specificato.
Metodo protetto FindControl(String, Int32) Infrastruttura. 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.
Metodo pubblico Focus Imposta lo stato attivo per l'input su un controllo.
Metodo protetto GetDesignModeState Infrastruttura. Ottiene i dati della fase di progettazione per un controllo.
Metodo pubblico GetHashCode Funge da funzione hash per un determinato tipo. (Ereditato da Object)
Metodo pubblico GetRouteUrl(Object) Ottiene l'URL corrispondente a un set di parametri di route.
Metodo pubblico GetRouteUrl(RouteValueDictionary) Ottiene l'URL corrispondente a un set di parametri di route.
Metodo pubblico GetRouteUrl(String, Object) Ottiene l'URL che corrisponde a un set di parametri di route e a un nome della route.
Metodo pubblico GetRouteUrl(String, RouteValueDictionary) Ottiene l'URL che corrisponde a un set di parametri di route e a un nome della route.
Metodo pubblico GetType Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblico GetUniqueIDRelativeTo Restituisce la parte con prefisso della proprietà UniqueID del controllo specificato.
Metodo pubblico HasControls Determina se il controllo server contiene controlli figlio.
Metodo protetto HasEvents Restituisce un valore che indica se gli eventi vengono registrati per il controllo o eventuali controlli figlio.
Metodo protetto IsLiteralContent Infrastruttura. Determina se il controllo server conserva solo il contenuto literal.
Metodo protetto LoadControlState Ripristina le informazioni sullo stato del controllo da una richiesta di pagina precedente salvata dal metodo SaveControlState.
Metodo protetto LoadViewState Ripristina le informazioni sullo stato di visualizzazione da una richiesta di pagina precedente salvata dal metodo SaveViewState.
Metodo protetto MapPathSecure Recupera il percorso fisico al quale è associato un percorso virtuale, assoluto o relativo.
Metodo protetto MemberwiseClone Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo protetto OnBubbleEvent Determina se l'evento per il controllo server è passato alla gerarchia del controllo server dell'interfaccia utente della pagina.
Metodo protetto OnDataBinding Genera l'evento DataBinding.
Metodo protetto OnInit Genera l'evento Init.
Metodo protetto OnLoad Genera l'evento Load.
Metodo protetto OnPreRender Genera l'evento PreRender.
Metodo protetto OnUnload Genera l'evento Unload.
Metodo protetto OpenFile Ottiene un oggetto Stream utilizzato per leggere un file.
Metodo protetto RaiseBubbleEvent Assegna eventuali origini dell'evento e relative informazioni al controllo padre.
Metodo protetto RemovedControl Viene chiamato dopo la rimozione di un controllo figlio dall'insieme Controls dell'oggetto Control.
Metodo protetto Render Invia il contenuto del controllo server a un oggetto HtmlTextWriter fornito, che scrive il contenuto di cui si effettuerà il rendering sul client.
Metodo protetto RenderChildren Invia il contenuto di un controllo figlio del controllo server a un oggetto HtmlTextWriter fornito, che scrive il contenuto di cui verrà effettuato il rendering sul client.
Metodo pubblico RenderControl(HtmlTextWriter) Restituisce il contenuto del controllo server a un oggetto HtmlTextWriter fornito e memorizza le informazioni di tracciatura relative al controllo se questa funzionalità è attivata.
Metodo protetto RenderControl(HtmlTextWriter, ControlAdapter) Restituisce il contenuto del controllo server a un oggetto HtmlTextWriter specificato utilizzando un oggetto ControlAdapter specificato.
Metodo protetto ResolveAdapter Ottiene l'adattatore del controllo responsabile del rendering del controllo specificato.
Metodo pubblico ResolveClientUrl Ottiene un URL che può essere utilizzato dal browser.
Metodo pubblico ResolveUrl Converte un URL in un formato utilizzabile dal client richiedente.
Metodo protetto SaveControlState Salva le modifiche allo stato di un controllo server apportate dal momento in cui è stato eseguito il postback della pagina al server.
Metodo protetto SaveViewState Salva le modifiche allo stato di visualizzazione di un controllo server apportate dal momento in cui è stato eseguito il postback della pagina sul server.
Metodo protetto SetDesignModeState Imposta i dati della fase di progettazione per un controllo.
Metodo pubblico SetRenderMethodDelegate Infrastruttura. Assegna un delegato del gestore eventi per eseguire il rendering del controllo server e del relativo contenuto nel controllo padre.
Metodo pubblico ToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
Metodo protetto 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à Control.ViewState.
In alto
Eventi

  Nome Descrizione
Evento pubblico DataBinding Viene generato quando il controllo server viene associato a un'origine dati.
Evento pubblico 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.
Evento pubblico Init Viene generato quando il controllo server viene inizializzato, ovvero nella prima fase della sua durata.
Evento pubblico Load Viene generato quando il controllo server è caricato nell'oggetto Page.
Evento pubblico PreRender Si verifica dopo il caricamento dell'oggetto Control ma prima del rendering.
Evento pubblico Unload Viene generato quando il controllo server viene scaricato dalla memoria.
In alto
Metodi di estensione

  Nome Descrizione
Metodo di estensione pubblico FindDataSourceControl Restituisce l'origine dati associata al controllo dati per il controllo specificato. (Definito da DynamicDataExtensions).
Metodo di estensione pubblico FindFieldTemplate Restituisce il modello di campo per la colonna specificata nel contenitore di denominazione del controllo specificato. (Definito da DynamicDataExtensions).
Metodo di estensione pubblico FindMetaTable Restituisce l'oggetto metatabella per il controllo contenitore dei dati. (Definito da DynamicDataExtensions).
In alto
Implementazioni esplicite dell'interfaccia

  Nome Descrizione
Implementazione esplicita dell'interfaccia Proprietà privata IControlBuilderAccessor.ControlBuilder Per una descrizione di questo membro, vedere IControlBuilderAccessor.ControlBuilder.
Implementazione esplicita dell'interfaccia Metodo privato IControlDesignerAccessor.GetDesignModeState Per una descrizione di questo membro, vedere IControlDesignerAccessor.GetDesignModeState.
Implementazione esplicita dell'interfaccia Metodo privato IControlDesignerAccessor.SetDesignModeState Per una descrizione di questo membro, vedere IControlDesignerAccessor.SetDesignModeState.
Implementazione esplicita dell'interfaccia Metodo privato IControlDesignerAccessor.SetOwnerControl Infrastruttura. Per una descrizione di questo membro, vedere IControlDesignerAccessor.SetOwnerControl.
Implementazione esplicita dell'interfaccia Proprietà privata IControlDesignerAccessor.UserData Per una descrizione di questo membro, vedere IControlDesignerAccessor.UserData.
Implementazione esplicita dell'interfaccia Proprietà privata IDataBindingsAccessor.DataBindings Per una descrizione di questo membro, vedere IDataBindingsAccessor.DataBindings.
Implementazione esplicita dell'interfaccia Proprietà privata IDataBindingsAccessor.HasDataBindings Per una descrizione di questo membro, vedere IDataBindingsAccessor.HasDataBindings.
Implementazione esplicita dell'interfaccia Proprietà privata IExpressionsAccessor.Expressions Per una descrizione di questo membro, vedere IExpressionsAccessor.Expressions.
Implementazione esplicita dell'interfaccia Proprietà privata IExpressionsAccessor.HasExpressions Per una descrizione di questo membro, vedere IExpressionsAccessor.HasExpressions.
Implementazione esplicita dell'interfaccia Metodo privato IParserAccessor.AddParsedSubObject Per una descrizione di questo membro, vedere IParserAccessor.AddParsedSubObject.
In alto
Note

Si tratta della classe primaria dalla quale si deriva quando si sviluppano controlli server ASP.NET personalizzati. Control non dispone di alcuna funzionalità specifica dell'interfaccia utente. Se si modifica un controllo che non dispone di un'interfaccia utente o che combina altri controlli che utilizzano le rispettive interfacce utente, derivarlo da Control. Se si desidera creare un controllo senza interfaccia utente, derivare da WebControl o da qualsiasi controllo dello spazio dei nomi System.Web.UI.WebControls che costituisca un punto di partenza appropriato per il controllo personalizzato.

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

La classe Control può essere utilizzata direttamente o indirettamente come parte dell'interfaccia utente di un'applicazione Web e, come tale, deve essere analizzata per garantire che vengano seguite le procedure ottimali per la scrittura di codice sicuro e la sicurezza delle applicazioni.

Per informazioni generali su questi argomenti, vedere Cenni preliminari sui pericoli di sicurezza a cui sono esposte le applicazioni Web, Procedure consigliate per i criteri di sicurezza e Concetti principali sulla sicurezza. Per informazioni più specifiche, vedere Protezione dei controlli standard, Procedura: visualizzare messaggi di errore protetti, Procedura: proteggere da attacchi tramite script in un'applicazione Web applicando alle stringhe la codifica HTML e Introduction to the Validation Controls.

Esempi

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

Nota sulla sicurezza Nota sulla sicurezza

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 convalidano l'input utente in modo che non includa script o elementi HTML. Per ulteriori informazioni, vedere Cenni preliminari sugli attacchi tramite script.

Visual Basic

Option Explicit
Option Strict

Imports System
Imports System.Web
Imports System.Web.UI
Imports Microsoft.VisualBasic

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 'Render
    End Class 'InnerContent
End Namespace 'SimpleControlSamples


C#

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>");
           }
       }
    }    
}
   


Informazioni sulla versione

.NET Framework

Supportato in: 4, 3.5, 3.0, 2.0, 1.1, 1.0
Piattaforme

Windows 7, Windows Vista SP1 o versione successiva, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (componenti di base del server non supportati), Windows Server 2008 R2 (componenti di base del server supportati con SP1 o versione successiva), Windows Server 2003 SP2

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Codice thread safe

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.
Vedere anche

Riferimenti

Altre risorse

Gerarchia di ereditarietà

System.Object
  System.Web.UI.Control
    System.Web.DynamicData.DynamicControl
    System.Web.DynamicData.DynamicDataManager
    System.Web.DynamicData.DynamicEntity
    System.Web.DynamicData.DynamicFilter
    System.Web.DynamicData.EntityTemplate
    System.Web.DynamicData.QueryableFilterRepeater
    System.Web.UI.BasePartialCachingControl
    System.Web.UI.DataBoundLiteralControl
    System.Web.UI.DataSourceControl
    System.Web.UI.DesignerDataBoundLiteralControl
    System.Web.UI.ExtenderControl
    System.Web.UI.HierarchicalDataSourceControl
    System.Web.UI.HtmlControls.HtmlControl
    System.Web.UI.LiteralControl
    System.Web.UI.MobileControls.DeviceSpecific
    System.Web.UI.MobileControls.MobileControl
    System.Web.UI.ScriptManager
    System.Web.UI.ScriptManagerProxy
    System.Web.UI.TemplateControl
    System.Web.UI.Timer
    System.Web.UI.UpdatePanel
    System.Web.UI.UpdateProgress
    System.Web.UI.WebControls.Content
    System.Web.UI.WebControls.ContentPlaceHolder
    System.Web.UI.WebControls.DataPager
    System.Web.UI.WebControls.DataPagerFieldItem
    System.Web.UI.WebControls.HiddenField
    System.Web.UI.WebControls.ListViewItem
    System.Web.UI.WebControls.Literal
    System.Web.UI.WebControls.LoginView
    System.Web.UI.WebControls.MenuItemTemplateContainer
    System.Web.UI.WebControls.MultiView
    System.Web.UI.WebControls.PlaceHolder
    System.Web.UI.WebControls.QueryExtender
    System.Web.UI.WebControls.Repeater
    System.Web.UI.WebControls.RepeaterItem
    System.Web.UI.WebControls.Substitution
    System.Web.UI.WebControls.View
    System.Web.UI.WebControls.WebControl
    System.Web.UI.WebControls.WebParts.ProxyWebPartManager
    System.Web.UI.WebControls.WebParts.WebPartManager
    System.Web.UI.WebControls.Xml