Данные для списка переключателей 1 (rbl1) не следует снова извлекать из базы данных.Он уже должен быть заполнен из ViewState.Это невидимый объект на вашей странице, который отслеживает содержимое ваших элементов управления между загрузкой их в браузер и возвратом формы обратно на сервер.Если вы перепривязываете rbl1 к данным обратной передачи, вы потеряете текущий выбор.
Не должно быть ничего плохого в получении данных для отправленного списка радиобуттон из базы данных, если результаты будут меняться в зависимости отвыбор первого.
Однако, если размер данных невелик, вы можете кэшировать результаты в кэш приложения, если все пользователи видят один и тот же набор данных, или кэш сеанса, если он зависит от пользователя.
Затем вы можете использовать Linq для запроса данных на основе выбора из первого списка радиобуттон.
<asp:RadioButtonList ID="rbl1" runat="server" AutoPostBack = "true"
OnSelectedIndexChanged="rbl1_SelectedIndexChanged">
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
//bind your rbl1 here
}
}
protected void rbl1_SelectedIndexChanged(object sender, EventArgs e)
{
//load your second radio button list depending on the selection of the first
}