Для того, чтобы сделать первый шаг, вы можете либо следовать идее, которую вы разместили в своем коде выше (декларативная настройка выбранного RadioButton), либо программно установить его, выполнив что-то вроде следующего:
//MyRadListView is the name of the RadListView on the page
RadListView myListView = MyRadListView;
RadioButtonList myRadioButtonList = myListView.Items[0].FindControl("MyRadioButtonList") as RadioButtonList;
myRadioButtonList.SelectedIndex = 0;
Как видите, вам нужно получить доступ к конкретному элементу RadListView через коллекцию Items элемента управления.Если у вас есть интересующий вас элемент, вы можете просто использовать метод FindControl (), который принимает идентификатор вашего элемента управления в виде строки.
Что касается проверочной части, то это возможная реализация:
ASPX:
<asp:CustomValidator ID="RadioButtonListValidator" runat="server" ControlToValidate="MyRadioButtonList"
OnServerValidate="RadioButtonListValidator_ServerValidate"
ErrorMessage="Please select I Accept">
</asp:CustomValidator>
C #:
protected void RadioButtonListValidator_ServerValidate(object sender, ServerValidateEventArgs e)
{
RadListView myListView = MyRadListView;
RadioButtonList myRadioButtonList = myListView.Items[0].FindControl("MyRadioButtonList") as RadioButtonList;
myRadioButtonList.SelectedIndex = 0;
if (myRadioButtonList.SelectedValue != "1")
{
e.IsValid = false;
}
}
Это должно позаботиться о том, чтобы на PostBack была выбрана кнопка «Я принимаю».