Control.EnsureChildControls メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
サーバー コントロールに子コントロールが含まれているかどうかを確認します。 含まれていない場合、子コントロールを作成します。
protected:
virtual void EnsureChildControls();
protected virtual void EnsureChildControls ();
abstract member EnsureChildControls : unit -> unit
override this.EnsureChildControls : unit -> unit
Protected Overridable Sub EnsureChildControls ()
例
次の例では、 メソッドを EnsureChildControls 使用して、現在のサーバー コントロールに子コントロールがあることを確認します。 次に、現在のサーバー コントロールの Text オブジェクト内の子 TextBox Web コントロールの ControlCollection プロパティを取得または設定します。
重要
この例には、ユーザー入力を受け付けるテキスト ボックスがあります。これにより、セキュリティが脆弱になる可能性があります。 既定では、ASP.NET Web ページによって、ユーザー入力にスクリプトまたは HTML 要素が含まれていないかどうかが検証されます。 詳細については、「スクリプトによる攻略の概要」を参照してください。
// 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();
}
}
' 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
注釈
このメソッドは、最初に プロパティの現在の値を確認します ChildControlsCreated 。 この値が の場合、 false
CreateChildControls メソッドが呼び出されます。
メソッドは EnsureChildControls 通常、複合コントロールで使用されます。これは、一部またはすべての機能に子コントロールを使用するコントロールです。 EnsureChildControls子コントロールが作成され、入力の処理、データ バインディングの実行、または他のタスクの実行の準備が整っていることを確認するために、 メソッドが呼び出されます。
コントロールは GridView 複合コントロールの例です。 によって生成される HTML テーブルのレンダリングに使用される、、LabelTableCell、および TextBox コントロールなどのTableTableRow子コントロールがGridView作成されます。
ほとんどの場合、カスタム サーバー コントロール開発者はこのメソッドをオーバーライドする必要はありません。 このメソッドをオーバーライドする場合は、既定の動作と同様の方法で使用します。
適用対象
こちらもご覧ください
.NET