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 Web サーバーコントロールの 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.

こちらもご覧ください

適用対象