Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: VB7, C#
Expertise: beginner
Jan 27, 2003



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Accessing user controls from the code-behind

When you add a user control to an ASP.NET page, Visual Studio .NET does not add a control declaration as it does when you add standard ASP.NET web controls. The result is that you can't directly access the user control from the code-behind and programmatically change its properties and call its methods. Well, you can, but you first have to declare the user control variable by hand, and then set it to the user control instance created on the page. Here's the code:

' declare the control
Protected MyCtl As MyUserControl
Private Sub Page_Init(sender As Object, e As EventArgs) Handles MyBase.Init
    ' get a reference to the MyUserControl user control.
    MyCtl = DirectCast(FindControl("MyCtl"), MyUserControl)
End Sub 
From now on you can access the control and do something like:

MyCtl.BackColor = Color.Yellow
If you program with C#, you still need to manually declare the control variable, but you don't need to explicitly set it to the control instance declared on the ASPX page. This is done automatically by the ASP.NET runtime, provided that the name of the control variable matches the name used for the control instance on the page.
Marco Bellinaso
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date