Как я могу получить выбранное значение из переключателя и comapre с правильной опцией ?
Я получаю значения от переключателей с идентификатором, эти переключатели находятся в ретрансляторе . Правильный вариант в rd4. Я сравниваю rd1,rd2, & rd3 с rd4, если какой-либо из них соответствует, то count+1 else count остается 0, тогда этот результат подсчета я хочу показать в метке .но результат постоянно показывает 0, правильно это или нет...
Что я уже пробовал:
protected void Button1_Click(object sender, EventArgs e) { int count1=0 ; if (Repeater1.Items.Count > 0) { for (int count = 0; count < Repeater1.Items.Count; count++) { RadioButton rd1 = (RadioButton)Repeater1.Items[count].FindControl("RadioButton1"); RadioButton rd2 = (RadioButton)Repeater1.Items[count].FindControl("RadioButton2"); RadioButton rd3 = (RadioButton)Repeater1.Items[count].FindControl("RadioButton3"); RadioButton rd4 = (RadioButton)Repeater1.Items[count].FindControl("RadioButton31"); if (rd1.Checked) { if (rd1 == rd4) { count1++; } else { count1 = count1 + 0; } } if (rd2.Checked) { if (rd2 == rd4) { count1++; } else { count1 = count1 + 0; } } if (rd3.Checked) { if (rd3 == rd4) { count1++; } else { count1 = count1 + 0; } } Label1.Text = Convert.ToString(count1); }
Richard Deeming
Вы проверяете на эталонное равенство. Два разных примера этого RadioButton
контроль никогда не будет таким же эталонным, поэтому ваши тесты никогда не будут успешными.
Непонятно, почему вы используете другой RadioButton
за правильный ответ. Тем более что пользователь сможет проверить элемент управления, чтобы увидеть, каков правильный ответ.
Кроме того, все ваши else
блоки, добавляющие ноль к переменной, являются избыточными. Добавление нуля к числу не будет иметь никакого значения.