Как рассчитать балл вопроса с множественным выбором в gridview
Я использую следующий код для расчета балла вопросной работы, содержащей вопрос с множественным выбором. Но я сталкиваюсь с проблемой, что оценка правильна, когда на все вопросы статьи даны ответы. Предположим, что если кто-то не отвечает ни на один из вопросов, то он показывает неправильный балл. Хотите, чтобы оценка обновлялась для каждого правильного ответа.
protected void RadioButton_CheckedChanged(object sender, EventArgs e) { string selans = "-1"; int Score = 0; foreach (GridViewRow row in GridView1.Rows) { RadioButton r1 = ((RadioButton)row.FindControl("rad1")); RadioButton r2 = ((RadioButton)row.FindControl("rad2")); RadioButton r3 = ((RadioButton)row.FindControl("rad3")); RadioButton r4 = ((RadioButton)row.FindControl("rad4")); HiddenField hdn = ((HiddenField)row.FindControl("hf")); if (r1.Checked) { selans = "1"; } else if (r2.Checked) { selans = "2"; } else if (r3.Checked) { selans = "3"; } else if (r4.Checked) { selans = "4"; } if (selans == hdn.Value) { Score = Score + 1; com = new SqlCommand("update Exam set Score='" + Score + "' where PCode='" + Label14.Text + "'", con); con.Open(); com.ExecuteNonQuery(); con.Close(); } } }
george4986
что стоимость СЗР.Значение?
почему бы вам не добавить еще один else после else if (r4. Checked){}
и обновить счет как ноль?
Mishti Choudhary
Попробовал, но результат тот же. Проблема с циклом for заключается в том, что он генерирует правильный балл только в том случае, если на все вопросы набора вопросов дан ответ. Если даже какой-либо из Анс не отвечает, он дает неправильный балл. Возможно ли, что для каждой строки оценка обновляется отдельно, а не все вопросы в целом?
Mishti Choudhary
Скрытое поле-это оценка правильных ответов на отдельные вопросы в одном ряду с опциями в виде сетки.
Mishti Choudhary
Я попробовал то же самое, используя свойство подкачки gridview, в котором gridview имел один вопрос на страницу. Затем получал правильный балл,но с этой проблемой менял страницу по нажатию кнопки. Не удалось изменить страницу Gridview при нажатии кнопки. Каждый раз приходилось выбирать следующую страницу вручную. Поэтому попробовал эту альтернативу.
george4986
plz Удалить для каждого цикла и добавить ниже код
Переключатель РД = (переключатели)отправителя;
Gridviewrow row = (GridViewRow)rd. NamingContainer;
BharatPrajapati212
ясно, что вы хотите в качестве вывода?
не могу понять вашего вопроса.