TemplateControl.LoadControl 메서드

정의

Control을 로드합니다.Loads a Control.

오버로드

LoadControl(String)

지정한 가상 경로를 기반으로 하는 파일에서 Control 개체를 로드합니다.Loads a Control object from a file based on a specified virtual path.

LoadControl(Type, Object[])

지정한 형식과 생성자 매개 변수에 따라 Control 개체를 로드합니다.Loads a Control object based on a specified type and constructor parameters.

설명

컨트롤 컨테이너 컨트롤에 로드 하는 경우 컨테이너는 모든 현재 이벤트를 따라잡을 때까지 추가 된 컨트롤의 이벤트를 발생 시킵니다.When you load a control into a container control, the container raises all of the added control's events until it has caught up to the current event. 그러나 추가 된 컨트롤에서 처리 하지 못하면 포스트백 데이터 처리를 사용 하 여 합니다.However, the added control does not catch up with postback data processing. 유효성 검사를 포함 하 여 포스트백 데이터 처리에 참여 하는 추가 된 컨트롤의 경우 Load 이벤트가 아니라 Init 이벤트에 컨트롤을 추가 해야 합니다.For an added control to participate in postback data processing, including validation, the control must be added in the Init event rather than in the Load event.

LoadControl(String)

지정한 가상 경로를 기반으로 하는 파일에서 Control 개체를 로드합니다.Loads a Control object from a file based on a specified virtual path.

public:
 System::Web::UI::Control ^ LoadControl(System::String ^ virtualPath);
public System.Web.UI.Control LoadControl (string virtualPath);
member this.LoadControl : string -> System.Web.UI.Control
Public Function LoadControl (virtualPath As String) As Control

매개 변수

virtualPath
String

제어 파일 가상 경로입니다.The virtual path to a control file.

반환

지정한 Control을 반환합니다.Returns the specified Control.

예외

가상 경로가 null이거나 빈 경우The virtual path is null or empty.

예제

다음 코드 예제에서는 LoadControl 메서드를 사용 하 여 ASP.NET 페이지에 사용자 정의 컨트롤을 추가 하는 방법을 보여 줍니다.The following code example demonstrates how to use the LoadControl method to add a user control to an ASP.NET page.

OnInit 이벤트 메서드에서이 페이지는 LoadControl 메서드를 사용 하 여 프로그래밍 방식으로 페이지에 사용자 정의 컨트롤을 만듭니다.In the OnInit event method, this page uses the LoadControl method to programmatically create a user control on the page. 메서드는 Placeholder1이라는 PlaceHolder 웹 서버 컨트롤의 Controls 속성에 컨트롤을 추가 합니다.The method adds the control to the Controls property of a PlaceHolder Web server control named Placeholder1.

이 코드 예제에서 사용 되는 MyControl 클래스에 대 한 정의는 TemplateControl을 참조 하세요.For the definition of the MyControl class that is used in this code example, see TemplateControl.

void Page_Init(object sender, System.EventArgs e)
{
    // Instantiate the UserControl object
    MyControl myControl1 =
        (MyControl)LoadControl("TempControl_Samples1.ascx.cs");
    PlaceHolder1.Controls.Add(myControl1);
}
Sub Page_Load(ByVal Sender As Object, ByVal e As EventArgs)
    ' Obtain a UserControl object MyControl from the
    ' user control file TempControl_Samples1.ascx.vb
    Dim myControl1 As MyControl = CType(LoadControl("TempControl_Samples1.vb.ascx"), MyControl)
    Controls.Add(myControl1)
End Sub

설명

컨트롤이 캐싱을 지 원하는 경우 LoadControl 메서드에서 반환 된 개체는 실제로 Control 개체가 아닙니다. 대신 PartialCachingControl 개체입니다.If the control supports caching, the object returned from the LoadControl method is not actually a Control object; rather, it is a PartialCachingControl object. virtualPath 매개 변수가 상대 경로 이면 로드 된 컨트롤의 경로는 TemplateControl경로를 기준으로 합니다.If the virtualPath parameter is relative, the path of the loaded control is relative to the path of the TemplateControl.

컨트롤 컨테이너 컨트롤에 로드 하는 경우 컨테이너는 모든 현재 이벤트를 따라잡을 때까지 추가 된 컨트롤의 이벤트를 발생 시킵니다.When you load a control into a container control, the container raises all of the added control's events until it has caught up to the current event. 그러나 추가 된 컨트롤에서 처리 하지 못하면 포스트백 데이터 처리를 사용 하 여 합니다.However, the added control does not catch up with postback data processing. 유효성 검사를 포함 하 여 포스트백 데이터 처리에 참여 하는 추가 된 컨트롤의 경우 Load 이벤트가 아니라 Init 이벤트에 컨트롤을 추가 해야 합니다.For an added control to participate in postback data processing, including validation, the control must be added in the Init event rather than in the Load event.

추가 정보

LoadControl(Type, Object[])

지정한 형식과 생성자 매개 변수에 따라 Control 개체를 로드합니다.Loads a Control object based on a specified type and constructor parameters.

public:
 System::Web::UI::Control ^ LoadControl(Type ^ t, cli::array <System::Object ^> ^ parameters);
public System.Web.UI.Control LoadControl (Type t, object[] parameters);
member this.LoadControl : Type * obj[] -> System.Web.UI.Control
Public Function LoadControl (t As Type, parameters As Object()) As Control

매개 변수

t
Type

컨트롤의 형식입니다.The type of the control.

parameters
Object[]

호출할 생성자의 매개 변수와 수, 순서 및 유형 면에서 일치하는 인수의 배열입니다.An array of arguments that match in number, order, and type the parameters of the constructor to invoke. parameters이(가) 빈 배열이거나 null이면 매개 변수를 사용하지 않는 생성자(매개 변수가 없는 생성자)가 호출됩니다.If parameters is an empty array or null, the constructor that takes no parameters (the parameterless constructor) is invoked.

반환

지정한 UserControl을 반환합니다.Returns the specified UserControl.

설명

사용자 정의 컨트롤이 캐싱을 지 원하는 경우 LoadControl 메서드에서 반환 된 개체는 실제로 UserControl 개체가 아닙니다. 대신 PartialCachingControl 개체입니다.If the user control supports caching, the object returned from the LoadControl method is not actually a UserControl object; rather, it is a PartialCachingControl object.

컨트롤 컨테이너 컨트롤에 로드 하는 경우 컨테이너는 모든 현재 이벤트를 따라잡을 때까지 추가 된 컨트롤의 이벤트를 발생 시킵니다.When you load a control into a container control, the container raises all of the added control's events until it has caught up to the current event. 그러나 추가 된 컨트롤에서 처리 하지 못하면 포스트백 데이터 처리를 사용 하 여 합니다.However, the added control does not catch up with postback data processing. 유효성 검사를 포함 하 여 포스트백 데이터 처리에 참여 하는 추가 된 컨트롤의 경우 Load 이벤트가 아니라 Init 이벤트에 컨트롤을 추가 해야 합니다.For an added control to participate in postback data processing, including validation, the control must be added in the Init event rather than in the Load event.

추가 정보

적용 대상