Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 141055
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T07:42:54+00:00 2026-05-11T07:42:54+00:00

I have a Web content form and need to access a control inside the

  • 0

I have a Web content form and need to access a control inside the content panel. I know of two ways to access the control:

  1. TextBox txt = (TextBox)Page.Controls[0].Controls[3].Controls[48].Controls[6]
  2. By writing a recursive function that searches through all controls.

Is there any other easier way, since Page.FindControl doesn’t work in this instance. The reason I am asking is it feels to me like the Page object or the Content Panel object should have a method to find a child control, but can’t find anything like it.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T07:42:54+00:00Added an answer on May 11, 2026 at 7:42 am

    The issue is that FindControl() does not traverse certain control children such as a templated control. If the control you are after lives in a template, it won’t be found.

    So we added the following extension methods to deal with this. If you are not using 3.5 or want to avoid the extension methods, you could make a general purpose library out of these.

    You can now get the control you are after by coding:

    var button = Page.GetControl('MyButton') as Button; 

    The extension methods do the recursive work for you. Hope this helps!

    public static IEnumerable<Control> Flatten(this ControlCollection controls) {     List<Control> list = new List<Control>();     controls.Traverse(c => list.Add(c));     return list; }  public static IEnumerable<Control> Flatten(this ControlCollection controls,          Func<Control, bool> predicate) {     List<Control> list = new List<Control>();     controls.Traverse(c => { if (predicate(c)) list.Add(c); });     return list; }  public static void Traverse(this ControlCollection controls, Action<Control> action) {     foreach (Control control in controls)     {         action(control);         if (control.HasControls())         {             control.Controls.Traverse(action);         }     } }  public static Control GetControl(this Control control, string id) {     return control.Controls.Flatten(c => c.ID == id).SingleOrDefault(); }  public static IEnumerable<Control> GetControls(this Control control) {     return control.Controls.Flatten(); } 
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have two content types called web jobs and network job. I need to
Today I realized that I no longer have a Web Content Form option (where
I have a asp.net web content from that have a asp.net textbox and I
I have a web application that has a page that loads the content from
I have a web page in which a fair amount of the content is
I have an asp.net content form which contains a couple of textboxes. I need
i have web page it has a page header content like main menu,logo and
i have to reach a web site content which have an url like that
I have a web app where people can create custom content on the web
Say I have a web service where I want to serve the content only

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.