You can always add controls programmatically.
Say you have an aspnet control panel that you can execute ...
RadioButton rb = new RadioButton(); rb.ID = "rbRadioButton"; rb.Name = "rbRadioButton"; rb.cssClass = "radioClass"; Panel1.Controls.Add(rb);
Sorry for the severity of the example without having received a visual studio at the moment to test it, but I hope you get this idea. You could essentially create the whole question this way, based solely on the database. The downside is getting the values, since you have to override the Render method (if I remember correctly, some time has passed, I have an example if you want me to find it).
I admit that this is a bit overkill, but it is a possible solution.
source share