Well there are a few things to keep in mind when you're using dynamic controls.
First of all you should consider the scope of the dynamic controls.
If you create a control in a function (like a button, table, radiobutton...) then the control only exists within that function.....it will be rendered on the page (because you added it to the placeholder) but when the request comes back to the server the controls declared in the function will no longer exist.
This means that dynamic controls have to have a scope for the whole page...you cannot simply declare them inside a method.
The other thing you have to consider is the ASP Page Life Cycle....
Please take a look this article about
how to use dynamic controls in ASP.NET....
I don't think you need to use dynamic controls for your application.
You should be using a
RadioButtonList instead of dynamically creating individual RadioButtons. You can assign a DataSource to the RadioButtonList. The RadioButtonList will automatically create the necessary RadioButtons for the DataSource that it's bound to.
This means that your RadioButtonList is not dynamic, but the datasource that it's bound to IS....so the content of the RadioButtonList is dynamic.
For example check out this article on how to
bind a RadioButtonList to a Custom Object...if you're just using a DataBase then it's even easier :)
This will save you a lot of problems.