Control.EnsureChildControls 메서드

정의

서버 컨트롤에 자식 컨트롤이 있는지 확인합니다.Determines whether the server control contains child controls. 서버 컨트롤에 자식 컨트롤이 없으면 자식 컨트롤을 만듭니다.If it does not, it creates child controls.

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

예제

다음 예제에서는 EnsureChildControls 메서드를 사용 하 여 현재 서버 컨트롤에 자식 컨트롤이 있는지 확인 합니다.The following example uses the EnsureChildControls method to ensure that the current server control has child controls. 그런 다음 현재 서버 컨트롤의 ControlCollection 개체에서 자식 TextBox 웹 컨트롤에 대 한 Text 속성을 가져오거나 설정 합니다.It then gets or sets a Text property for a child TextBox Web control in the current server control's ControlCollection object.

중요

이 예제에는 사용자 입력을 허용하는 텍스트 상자가 있으므로 보안상 위험할 수 있습니다.This example has a text box that accepts user input, which is a potential security threat. 기본적으로 ASP.NET 웹 페이지는 사용자 입력 내용에 스크립트 또는 HTML 요소가 포함되어 있지 않은지 확인합니다.By default, ASP.NET Web pages validate that user input does not include script or HTML elements. 자세한 내용은 Script Exploits Overview를 참조하세요.For more information, see 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 속성의 현재 값을 확인 합니다.This method first checks the current value of the ChildControlsCreated property. 이 값이 false되 면 CreateChildControls 메서드가 호출 됩니다.If this value is false, the CreateChildControls method is called.

EnsureChildControls 메서드는 일반적으로 일부 또는 모든 기능에 대해 자식 컨트롤을 사용 하는 컨트롤인 복합 컨트롤에서 사용 됩니다.The EnsureChildControls method is typically used in composite controls, which are controls that use child controls for some or all their functionality. EnsureChildControls 메서드는 자식 컨트롤이 생성 되어 입력을 처리 하거나 데이터 바인딩을 수행 하거나 다른 작업을 수행할 준비가 되었는지 확인 하기 위해 호출 됩니다.The EnsureChildControls method is called in order to make sure that child controls have been created and are ready to process input, to perform data binding, or to perform other tasks.

GridView 컨트롤은 복합 컨트롤의 예입니다.The GridView control is an example of a composite control. TextBox에서 생성 하는 HTML 테이블을 렌더링 하는 데 사용 되는 Table, TableRow, TableCell, LabelGridView 컨트롤과 같은 자식 컨트롤을 만듭니다.It creates child controls such as Table, TableRow, TableCell, Label, and TextBox controls, which are used to render the HTML table that the GridView generates.

대부분의 경우 사용자 지정 서버 컨트롤 개발자는이 메서드를 재정의할 필요가 없습니다.In most cases, custom server control developers do not have to override this method. 이 메서드를 재정의 하는 경우 기본 동작과 비슷한 방식으로 사용 합니다.If you do override this method, use it in a way similar to the default behavior.

적용 대상

추가 정보