Loop through Controls in dynamic table inside place holder

Posted on 2009-07-10
Last Modified: 2013-11-26
I am using I have a place holder in a page that is populated by a dynamic table that is added to the place holder after the user selects a value from a drop down box. Inside this dynamic table are check boxes.

The goal is to cycle through these check boxes and figure out which ones are checked after a button is pushed. The problem seems to be when the html is rendered. I tried putting code in the init event. I have attached the code.
PH_Tables is the name of the place holder control. Inside that is a dynamic table that contains the check boxes. I included the function that returns the control causing the postback - for completeness.
Public Shared Function GetPostBackControl(ByVal page As Page) As Control

        Dim control As Control = Nothing

        Dim ctrlname As String = page.Request.Params.Get("__EVENTTARGET")

        If ctrlname <> Nothing And ctrlname <> String.Empty Then

            control = page.FindControl(ctrlname)


            Dim ctl As String

            For Each ctl In page.Request.Form

                Dim c As Control = page.FindControl(ctl)

                If TypeOf c Is System.Web.UI.WebControls.Button Then

                    control = c

                    Exit For

                End If


        End If

        Return control

    End Function

    Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init

        Dim s As Control

        Dim cntrl As Control

        Dim cb_cntrl As CheckBox

        Dim SB_ext_desc As New StringBuilder

        Dim testme As String

        s = GetPostBackControl(Me)

        If (Not (IsNothing(s)) AndAlso s.ID = "Button1") Then

            For Each cntrl In PH_tables.Controls

                testme = cntrl.ID

                If TypeOf cntrl Is CheckBox Then

                    cb_cntrl = cntrl

                    If cb_cntrl.Checked = True Then


                        SB_ext_desc.Append(" ")

                    End If

                End If


            Session("s_ext_desc") = SB_ext_desc

            Session("do_update") = True

        End If

    End Sub

Open in new window

Question by:estanton
  • 3
  • 2
LVL 12

Expert Comment

ID: 24828699
You  mention when, but not exactly _what_ the problem is.

I can guess that the dynamic control/table/etc. does not exist on postback. It has to be re-created or the control no longer exists on postback.

Author Comment

ID: 24830458
I can not get to the check boxes. I have tried looping through the tabel and place holder controls in page init and pre render. The check boxes don't show up.
LVL 12

Accepted Solution

funwithdotnet earned 500 total points
ID: 24832294
If the checkboxes are in a dynamic table created in response to user input, they will not exist on future postbacks unless the action in response to the original user input is re-created. And if it has been re-created, it would not exist at Page_Init unless it is in a user control.

I'm not exactly sure what kind of control 'dynamic table' refers to. Perhaps the checkbox controls are not in the table, but in cell controls in row controls within the table. A recursive search is required.

Something like this:

Private Sub Page_Load( ...) 



End Sub

Private Sub FindMyControl(ByVal inputControl as Control)

  If inputControl = 'whatever you're looking for

    ' Do something.

  ElseIf inputControl.HasControls Then

    Dim myControl as Control

    For Each myControl in inputControl.Controls



  End If

End Sub

Open in new window


Author Comment

ID: 24836847
I will try that tomorrow.

Author Comment

ID: 24844202
Worked great. Thanks! The checkbox was in the TableCell.

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In my previous article ( we saw the basics of serialization and how types/objects can be serialized to Binary format. In this blog we wi…
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
Internet Business Fax to Email Made Easy - With eFax Corporate (, you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
Both in life and business – not all partnerships are created equal. As the demand for cloud services increases, so do the number of self-proclaimed cloud partners. Asking the right questions up front in the partnership, will enable both parties …

911 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now