다음을 통해 공유


Control.DataBind 메서드

정의

호출된 서버 컨트롤과 모든 해당 자식 컨트롤에 데이터 원본을 바인딩합니다.

오버로드

DataBind()

호출된 서버 컨트롤과 모든 해당 자식 컨트롤에 데이터 원본을 바인딩합니다.

DataBind(Boolean)

DataBinding 이벤트를 발생시키는 옵션을 사용하여, 호출된 서버 컨트롤과 모든 자식 컨트롤에 데이터 소스를 바인딩합니다.

DataBind()

호출된 서버 컨트롤과 모든 해당 자식 컨트롤에 데이터 원본을 바인딩합니다.

public:
 virtual void DataBind();
public virtual void DataBind ();
abstract member DataBind : unit -> unit
override this.DataBind : unit -> unit
Public Overridable Sub DataBind ()

예제

다음 예제에서는 사용자 지정 ASP.NET 서버 컨트롤에서 메서드를 재정 DataBind 의합니다. 기본 OnDataBinding 메서드를 호출한 다음 메서드를 사용하여 모든 자식 컨트롤을 삭제하고 ClearChildViewState 메서드를 사용하여 ControlCollection.Clear 해당 자식 컨트롤에 대해 저장된 뷰 상태 설정을 삭제합니다. 마지막으로 속성이 ChildControlsCreatedtrue 설정되고 메서드를 사용하여 새로 만든 컨트롤의 뷰 상태에 대한 변경 내용을 추적하도록 컨트롤에 TrackViewState 지시됩니다. 이는 새 데이터가 이전 DataBind 메서드 호출에서 저장된 데이터와 충돌하지 않도록 컨트롤에 데이터를 바인딩할 때 일반적인 기술입니다.

public override void DataBind() 
{
   base.OnDataBinding(EventArgs.Empty);
   // Reset the control's state.
   Controls.Clear();
   // Check for HasChildViewState to avoid unnecessary calls to ClearChildViewState.
   if (HasChildViewState)
      ClearChildViewState();
   ChildControlsCreated = true;
   if (!IsTrackingViewState)
      TrackViewState();
}
Public Overrides Sub DataBind()
   MyBase.OnDataBinding(EventArgs.Empty)
   ' Reset the control's state.
   Controls.Clear()
   ' Check for HasChildViewState to avoid unnecessary calls to ClearChildViewState.
   If HasChildViewState Then
      ClearChildViewState()
   End If
   ChildControlsCreated = True
   If Not IsTrackingViewState Then
      TrackViewState()
   End If
End Sub

설명

이 메서드를 사용하여 원본의 데이터를 서버 컨트롤에 바인딩합니다. 이 메서드는 데이터베이스 쿼리를 통해 데이터 세트를 검색한 후 일반적으로 사용됩니다. 대부분의 컨트롤은 데이터 바인딩을 자동으로 수행하므로 일반적으로 이 메서드를 명시적으로 호출할 필요가 없습니다.

이 메서드는 사용자 지정 템플릿 기반 데이터 바인딩된 컨트롤을 만들 때 일반적으로 재정의됩니다. 자세한 내용은 방법: 템플릿 ASP.NET 사용자 정의 컨트롤 만들기사용자 지정 Data-Bound 웹 서버 컨트롤 개발을 참조하세요. 서버 컨트롤에서 호출되는 경우 이 메서드는 서버 컨트롤 및 해당 자식 컨트롤의 모든 데이터 바인딩 식을 확인합니다.

추가 정보

적용 대상

DataBind(Boolean)

DataBinding 이벤트를 발생시키는 옵션을 사용하여, 호출된 서버 컨트롤과 모든 자식 컨트롤에 데이터 소스를 바인딩합니다.

protected:
 virtual void DataBind(bool raiseOnDataBinding);
protected virtual void DataBind (bool raiseOnDataBinding);
abstract member DataBind : bool -> unit
override this.DataBind : bool -> unit
Protected Overridable Sub DataBind (raiseOnDataBinding As Boolean)

매개 변수

raiseOnDataBinding
Boolean

DataBinding 이벤트가 발생하면 true이고, 그렇지 않으면 false입니다.

설명

사용자 지정 컨트롤이 메서드를 재정의 Control.DataBind(Boolean) 하고 인터페이스를 구현하는 DataBind 시나리오에서 메서드를 IDataItemContainer 사용합니다. 이 시나리오에서 사용자 지정 컨트롤은 로 설정된 메서드 raiseOnDataBindingfalse 호출 Control.DataBind(Boolean) 하여 기본 클래스의 DataBind 메서드가 호출되도록 합니다.

메서드는 Control.DataBind() 로 설정된 를 사용하여 Control.DataBind(Boolean) 메서드 raiseOnDataBinding 를 호출합니다 true.

참고

Control.DataBind(Boolean) 를 로 설정하여 메서드 raiseOnDataBindingfalse 호출하면 모든 자식 컨트롤이 메서드와 데이터 바인딩 Control.DataBind() 됩니다.

추가 정보

적용 대상