Создание викторины с использованием CheckBoxList - PullRequest
0 голосов
/ 05 марта 2019

Я Новичок .Я использую CheckBoxList для моей викторины.Я хочу, чтобы значения 1-4 были правильными, а 5 неправильными.Затем отобразите результаты OnClick через мою метку результатов .Так, что:

  1. Клуб моды и дизайна (правильный)
  2. Рыболовный клуб (правильный)
  3. Танцевальный клуб (правильный)
  4. Арт-клуб (Правильно)
  5. НЕТ (неверно)

Независимо от того, что, если 1-4 включено с 5, я хочу, чтобы ответ был неверным. Как мне это сделать? Я попытался использовать утверждение If и обнаружил, что это явно не сработает.

Мой код:

    protected void SubmitButton_Click(object sender, ImageClickEventArgs e)
    {            
       if (CheckBoxList1.SelectedValue == "1")
        {
            Results.Text += " <br> Question 4 is Correct. <br>";
        }
        else if (CheckBoxList1.SelectedValue == "5")
        {
            Results.Text += " Question 4 is Incorrect. <br>";
        }
    }

Ответы [ 2 ]

0 голосов
/ 05 марта 2019

Следующий код проверяет, присутствует ли «NONE» в списке отмеченных элементов, тогда ответом будет False.Если нет, то по крайней мере один из других полей должен быть отмечен, чтобы ответ был true

public bool isCorrect() {
    if (checkedListBox1.CheckedItems.Contains("NONE")) {
        return false; //wrong answer is selected
    }
    else if (checkedListBox1.CheckedIndices.Count > 0) {
        return true; //at least one correct answer is selected
    }
    else
    return false; //no option is selected
}
0 голосов
/ 05 марта 2019

Используйте следующий метод, чтобы решить, выбрано ли 5 ​​или нет.Вызовите этот метод с помощью кнопки при событии щелчка.

В приведенной ниже логике, если выбрано 5 с другими или без них, то ответ неправильный, но если выбрано / выбрано любое из 1 - 4, ответ правильный.

protected void SubmitButton_Click(object sender, ImageClickEventArgs e)
{
    bool is1To4Selected =  false;
    for (int i=0; i < CheckBoxList1.Items.Count; i++)
    {
      if (CheckBoxList1.Items[i].Selected  && CheckBoxList1.Items[i].Value == "5")
      {
       is1To4Selected = false;
       break;
      } else if(CheckBoxList1.Items[i].Selected) 
      {
        is1To4Selected = true;
      }
   }

   if(is1To4Selected)
   {
     Results.Text += " <br> Question 4 is Correct. <br>";
   } else {
      Results.Text += " Question 4 is Incorrect. <br>";
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...