Export (0) Print
Expand All

TemplateControl.LoadControl Method (String)

Loads a Control object from a file based on a specified virtual path.

Namespace:  System.Web.UI
Assembly:  System.Web (in System.Web.dll)

'Declaration
Public Function LoadControl ( _
	virtualPath As String _
) As Control

Parameters

virtualPath
Type: System.String

The virtual path to a control file.

Return Value

Type: System.Web.UI.Control
Returns the specified Control.

ExceptionCondition
ArgumentNullException

The virtual path is Nothing or empty.

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.

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.

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

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1
Show:
© 2015 Microsoft