¿Cómo puedo verificar los valores seleccionados de múltiples RadioButtonLists?

Tengo un form HTML que tiene múltiples RadioButtonLists .

 

¿Cómo puedo iterar a través de RadioButtonList para seleccionar cada valor?

Esto es lo que tengo hasta ahora, ¿estoy en el camino correcto o hay una mejor manera de hacerlo?

 int value1= 0; int value2= 0; if (RadioButtonList1.SelectedValue == "1") { value1++; } else if (RadioButtonList1.SelectedValue == "2") { value2++; } if (RadioButtonList2.SelectedValue == "1") { value1++; } else if (RadioButtonList2.SelectedValue == "2") { value2++; } 

También he intentado esto, pero parece que no todo es correcto

 foreach(RadioButtonList rbl in ?????) { if (rbl.SelectedValue == "1") { value1++; } else if (rbl.SelectedValue == "2") { value2++; } } 

¡Cualquier ayuda o punto en la dirección correcta sería muy útil!

Gracias

He hecho cosas similares antes (es decir, manipular diferentes controles del validador). Así es como lo haría:

 var radioButtons = new List() { RadioButtonList1, RadioButtonList2, RadioButtonList3, RadioButtonList4, }; foreach(RadioButtonList rbl in radioButtons) { if (rbl.SelectedValue == "1") { value1++; } else if (rbl.SelectedValue == "2") { value2++; } } 

Puede definir la lista de RadioButtonList como un campo privado dentro de su página ASP.NET o control de usuario

Si coloca todas las RadioButtonLists dentro de un DIV con runat = “servidor” , puede recorrer fácilmente solo RadioButtonLists dentro de ese DIV. Aquí hay un ejemplo simple que se activa al hacer clic en Botón1, puede poner un punto de depuración al final del evento de clic de Botón1 para ver el valor de value1 y value2.

Código ASP.NET-Detrás:

 

C # Code-Behind:

  protected void Button1_Click(object sender, EventArgs e) { int value1=0, value2=0; foreach (Control c in myradiolist.Controls) { if (c is RadioButtonList) { RadioButtonList rbl = (RadioButtonList)c; if(rbl.SelectedValue.Equals("1")) value1++; if (rbl.SelectedValue.Equals("2")) value2++; } } }