.NET Tip of The Day
Learn one new .NET trick every day
Быстрое пополнение счета телефона      Login or Join

How to locate control nested inside of another control

Finding controls within a Page's control hierarchy can be painful but if you know how the controls are nested you can use the lesser known "$" shortcut to find controls without having to write recursive code. The following example shows how to use the DefaultFocus property to set the focus on a textbox that is nested inside of a FormView control. Notice that the "$" is used to delimit the nesting:

<form id="form1" DefaultFocus="formVw$txtName" runat="server">

    <div>

       <asp:FormView ID="formVw" runat="server">

          <ItemTemplate>

             Name:

             <asp:TextBox ID="txtName" runat="server"

                Text='<%# Eval("FirstName") + " " + Eval("LastName") %>' />

          </ItemTemplate>

       </asp:FormView>

    </div>

</form>

This little trick can also be used on the server-side when calling FindControl():

TextBox tb = this.FindControl("form1$formVw$txtName") as TextBox;

if (tb != null)

{

    //Access TextBox control

}



7/26/2007

Comments:

If you know where the control is you can just as easily do this:

TextBox tb = formVw.FindControl("txtName") as TextBox;

Will Asrari 3/1/2008 1:47:59 AM

What when we use Master Page?

Rishi 6/16/2009 3:00:03 PM

> What when we use Master Page?

No difference. It works as long as you know path to a control in the hierarchy. For example, here is path to a button on a webform which uses master page: ctl00$ContentPlaceHolder1$Button1

where:
ctl00 - auto-generated master page id
ContentPlaceHolder1 - Content placeholder id
Button1 - the button id

kostya.ly 6/16/2009 9:15:14 PM

Name
URL
E-mail
Provide your e-mail address to receive notification about new comments.
Message
HTML tags are not supported.
Please add 4 and 2 and type the answer here:
RSS .NET Tip of The Day
Subscribe to receive one tip from the .NET Tips and Tricks Community per day.
Previous Tips of The Day
The best of the .NET Tips & Tricks Community.
.NET Practitioners .NET Tips & Tricks Community
Every .NET practitioner has a trick up in their sleeve. This is the place to share it with other .NET people.
Submit a Tip
Discovered a new trick? Share it with others.
My Tips
Manage tips you authored.