TemplateControl.LoadControl Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Loads a Control.
Overloads
LoadControl(String) |
Loads a Control object from a file based on a specified virtual path. |
LoadControl(Type, Object[]) |
Loads a Control object based on a specified type and constructor parameters. |
Remarks
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. 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)
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
Parameters
- virtualPath
- String
The virtual path to a control file.
Returns
Returns the specified Control.
Exceptions
The virtual path is null
or empty.
Examples
The following code example demonstrates how to use the LoadControl method to add a user control to an ASP.NET page.
In the OnInit
event method, this page uses the LoadControl method to programmatically create a user control on the page. The method adds the control to the Controls property of a PlaceHolder Web server control named Placeholder1
.
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
Remarks
If the control supports caching, the object returned from the LoadControl method is not actually a Control object; rather, it is a PartialCachingControl object. 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. 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.
See also
- UserControl
- LoadControl(Type, Object[])
- OnInit(EventArgs)
- OnLoad(EventArgs)
- ASP.NET Page Life Cycle Overview
Applies to
LoadControl(Type, Object[])
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
Parameters
- 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. If parameters
is an empty array or null
, the constructor that takes no parameters (the parameterless constructor) is invoked.
Returns
Returns the specified UserControl.
Remarks
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. 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.
See also
- UserControl
- LoadControl(String)
- OnInit(EventArgs)
- OnLoad(EventArgs)
- ASP.NET Page Life Cycle Overview