Determina se il controllo server contiene controlli figlio. In caso contrario, li crea.
Assembly: System.Web (in System.Web.dll)
Protected Overridable Sub EnsureChildControls
protected virtual void EnsureChildControls()
protected: virtual void EnsureChildControls()
abstract EnsureChildControls : unit -> unit override EnsureChildControls : unit -> unit
Questo metodo controlla innanzitutto il valore corrente della proprietà ChildControlsCreated. Se questo valore è false, viene chiamato il metodo CreateChildControls.
Il metodo EnsureChildControls viene in genere utilizzato nei controlli compositi, ossia nei controlli che utilizzano controlli figlio per alcune o tutte le relative funzionalità. Il metodo EnsureChildControls viene chiamato per assicurarsi che i controlli figlio siano stati creati e siano pronti a elaborare l'input, a eseguire l'associazione dati o a eseguire altre attività.
Il controllo GridView è un esempio di controllo composito. Crea dei controlli figlio come Table, TableRow, TableCell, Label e TextBox che vengono utilizzati per effettuare il rendering della tabella HTML generata da GridView.
Nella maggior parte dei casi, gli sviluppatori di controlli server personalizzati non hanno l'esigenza di eseguire l'override di questo metodo. Se si effettua l'override di questo metodo, utilizzarlo in modo simile al comportamento predefinito.
Nell'esempio che segue viene utilizzato il metodo EnsureChildControls per assicurare che il controllo server corrente disponga di controlli figlio. In seguito viene ottenuta o impostata la proprietà Text per un controllo Web TextBox figlio nell'oggetto ControlCollection del controllo server corrente.
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 verificano che l'input dell'utente non includa script o elementi HTML. Per ulteriori informazioni, vedere Cenni preliminari sugli attacchi tramite script. |
' Ensure the current control has children, ' then get or set the Text property. Public Property Value() As Integer Get Me.EnsureChildControls() Return Int32.Parse(CType(Controls(1), TextBox).Text) End Get Set Me.EnsureChildControls() CType(Controls(1), TextBox).Text = value.ToString() End Set End Property
// Ensure the current control has children,
// then get or set the Text property.
public int Value {
get {
this.EnsureChildControls();
return Int32.Parse(((TextBox)Controls[1]).Text);
}
set {
this.EnsureChildControls();
((TextBox)Controls[1]).Text = value.ToString();
}
}
.NET Framework
Supportato in: 4, 3.5, 3.0, 2.0, 1.1, 1.0Windows 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.
Nota sulla sicurezza