다음을 통해 공유


Control.EnsureChildControls 메서드

정의

서버 컨트롤에 자식 컨트롤이 있는지 확인합니다. 서버 컨트롤에 자식 컨트롤이 없으면 자식 컨트롤을 만듭니다.

protected:
 virtual void EnsureChildControls();
protected virtual void EnsureChildControls ();
abstract member EnsureChildControls : unit -> unit
override this.EnsureChildControls : unit -> unit
Protected Overridable Sub EnsureChildControls ()

예제

다음 예제에서는 메서드를 EnsureChildControls 사용하여 현재 서버 컨트롤에 자식 컨트롤이 있는지 확인합니다. 그런 다음 현재 서버 컨트롤의 ControlCollection 개체에서 자식 TextBox 웹 컨트롤의 속성을 가져오거나 설정합니다Text.

중요

이 예제에는 사용자 입력을 허용하는 텍스트 상자가 있으므로 보안상 위험할 수 있습니다. 기본적으로 ASP.NET 웹 페이지는 사용자 입력 내용에 스크립트 또는 HTML 요소가 포함되어 있지 않은지 확인합니다. 자세한 내용은 Script Exploits Overview를 참조하세요.

// 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 테이블을 렌더링하는 데 사용되는 , , , , 및 컨트롤과 TextBox 같은 Table자식 컨트롤을 GridView 만듭니다. LabelTableCellTableRow

대부분의 경우 사용자 지정 서버 제어 개발자는 이 메서드를 재정의할 필요가 없습니다. 이 메서드를 재정의하는 경우 기본 동작과 유사한 방식으로 사용합니다.

적용 대상

추가 정보