• 0

[ASP.NET C#] Iterate through dynamic controls


Question

I have an ASP.NET C# web app that has a table dymanically created at run-time. In the table there are a number of dropdowns and textboxes created, depending on the number of Rows in the database.

My question is, how do I access these controls once the page is loaded? Here's some code I used to create them:

// makes the comments textbox and labels as txt[AccountID]
    	TextBox txt = new TextBox();
    	txt.TextMode = TextBoxMode.MultiLine;
    	txt.ID = "txt" + Convert.ToString(thisReader3.GetValue(6));
    	tcell.BorderColor = Color.FromArgb(215, 215, 255); // light blue
    	tcell.BorderWidth = 1;
    	tcell.VerticalAlign = VerticalAlign.Top;
    	tcell.HorizontalAlign = HorizontalAlign.Right;
    	tcell.Width = 152;
    	tcell.Controls.Add(txt); 
    	trow.Cells.Add(tcell);

    	tblDynamic.Rows.Add(trow);
    	thisReader3.Read();

8 answers to this question

Recommended Posts

  • 0

Ok I found this code but it's not working... it's not finding my textbox controls on the page. Anyone know why?

void IterateThroughChildren(Control parent)
  {
  	foreach (Control c in parent.Controls)
  	{
    if (c.GetType().ToString().Equals("System.Web.UI.WebControls.TextBox"))
    {
    	string com = ((TextBox) c).ID.ToString();
    }
        
    if (c.Controls.Count > 0)
    {          
    	IterateThroughChildren(c);          
    }
  	}
  }

  • 0

GetType() returns the top level class only... so it's good to check for the control type.

but... if you're checking this list on PostBack, then you should know that probably your controls aren't there. you have to either REbuild them or add them to the page state, so they are persistent. runtime-created controls aren't persistent, by default.

  • 0
  Menge said:
GetType() returns the top level class only... so it's good to check for the control type.

but... if you're checking this list on PostBack, then you should know that probably your controls aren't there. you have to either REbuild them or add them to the page state, so they are persistent. runtime-created controls aren't persistent, by default.

586124298[/snapback]

Thanks! How do I add them to the page state dynamically?

  • 0
  Lazereth said:
you are better of using "is typeof(inserttypehere)" rather than using the string signature of the relevant control. You'll also note that its perhaps better to check the interface rather than the control inself.

586124289[/snapback]

Can you give me an example of how the code would look instead? Thanks!

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • > Our goal is to ensure that the App Store remains an outstanding opportunity for developers and a safe, trusted experience for our users. There are so many scam apps on the platform that it is hard to believe they are truly interested in having a safe, trusted experience for their users.
    • Google announces upgraded Gemini 2.5 Pro model with enhanced capabilities by Pradeep Viswanathan Google today announced an updated Gemini 2.5 model with several improvements that can be observed in popular AI benchmarks. Google particularly highlighted that the new Gemini 2.5 Preview 06-05 "Thinking" model performs better in coding, math, science, and reasoning. Last month, during Google I/O, Google released an updated version of the Gemini 2.5 Pro model with significant improvements. Today's update builds on the release of the previous month with further enhancements. In addition to benchmark improvements, based on user feedback, this updated Gemini 2.5 Pro model also comes with improved style and structure, which will result in creative and better-formatted responses for end users. You can find the benchmark comparison with other leading AI models below. As you can notice in the above table, this updated Gemini 2.5 Pro preview model is now SOTA (State-of-the-Art) in coding benchmarks like Aider Polyglot. It also scored SOTA performance on GPQA and Humanity’s Last Exam (HLE) benchmarks, which test math, science, knowledge, and reasoning capabilities. In real-world testing, this latest 2.5 Pro model scored 24 points better on LMArena, maintaining its lead, and a 35-point jump on WebDevArena at 1443. Developers can access this latest Gemini 2.5 Pro preview model through the Gemini API via Google AI Studio and Vertex AI. General consumers will be able to access this model via the Gemini app. Google also confirmed that the Gemini 2.5 Pro model will be generally available in a couple of weeks, allowing developers to start using it in production-ready enterprise-scale applications.
    • The Bromance is definitely over! 🤣🤣🤣
    • I have the chance to live where electricity comes only from dams.
    • Which doesn't give them a pass for making the same game with a different skin
  • Recent Achievements

    • Week One Done
      jbatch earned a badge
      Week One Done
    • First Post
      Yianis earned a badge
      First Post
    • Rookie
      GTRoberts went up a rank
      Rookie
    • First Post
      James courage Tabla earned a badge
      First Post
    • Reacting Well
      James courage Tabla earned a badge
      Reacting Well
  • Popular Contributors

    1. 1
      +primortal
      411
    2. 2
      +FloatingFatMan
      181
    3. 3
      snowy owl
      177
    4. 4
      ATLien_0
      174
    5. 5
      Xenon
      135
  • Tell a friend

    Love Neowin? Tell a friend!