Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


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

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
    InitializeComponent()
    ' 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
MyCtl.DoSomething()
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.

 

 

Sitemap