I'm adding a dynamically built set of checkboxes to an asp.net page from the code behind with something like this in a recursive fashion:
pnlPageAccessList.Controls.Add(myCheckboxControl);
The controls show up fine on the page, but they don't show up when I view source, nor can I access them from the code behind. If I add the controls in the on_init method, they work. But I have some business rules driving changes to the list of controls itself that require I fire the add method elsewhere. Has anyone seen this before? I'm away from work so I can't copy the exact code.
I have two terrible ideas for how to get it working. One involves some jQuery and a set of hidden controls holding a big array of integers; the other is run the method on_init AND on my other events so the controls at least show up. Both smell like ugly hacks. The second one I suspect won't work to read the values out of the checkboxes.
On the server side the page is recreated from scratch every postback, so if you add any controls dynamically, you have to re-add them on every postback.
As you add the controls at runtime they are not known at compile time, so there is no variables declared for the controls in the Page object. If you want to access the controls you either have to keep the reference from when you create the controls, or locate them in the Controls collection where you put them.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With