Вы всегда можете добавить элементы управления программно.
Скажем, у вас есть панель управления aspnet, которую вы можете выполнять ...
RadioButton rb = new RadioButton();
rb.ID = "rbRadioButton";
rb.Name = "rbRadioButton";
rb.cssClass = "radioClass";
Panel1.Controls.Add(rb);
Извините за суровость примера, у нас пока нет визуальной студии, чтобы проверить это, но я надеюсь, что вы поняли идею. По сути, вы можете построить весь вопрос таким образом, основываясь исключительно на базе данных. Недостатком является получение значений, поскольку вы должны переопределить метод Render (если я правильно помню, это было давно, у меня есть пример, если вы хотите, чтобы я его нашел).
Я признаю, что это немного излишне, но это возможное решение.