私はクイズを作成しようとしていますが、クイズには1つの答えが必要な質問があり、複数の回答を選択する必要があります。複数の回答を選択する必要がある質問については、Checkboxforヘルパーを使用しています。私は質問のためにすべてのコードを短縮します。私は、ページに送信されるのviewmodelあります'他のforループ内のforループでcheckboxforを使用すると、'エラーが 'boolからリスト<bool>に変換できません。
public class QuizViewModel
{
public int QuizQuestionID { get; set; }
public int QuizID { get; set; }
public int EnrollmentID { get; set; }
public int OldCoursePageID { get; set; }
public string Question { get; set; }
public int Order { get; set; }
public int Type { get; set; }
public string SelectedAnswer { get; set; }
public IList<QuizAnswers> QuizAnswers { get; set; }
}
のViewModelに使用されているモデルQuizAnswers:私の見解では
public class QuizAnswers
{
[Key]
public int QuizAnsID { get; set; }
public int QuizQuestionID { get; set; }
public string Answer { get; set; }
public int Order { get; set; }
public bool Correct { get; set; }
public virtual QuizQuestions QuizQuestions { get; set; }
}
を私が質問のループを持っているし、その後の回答のため:
for (var i = 0; i < Model.Count(); i++)
{
if (Model[i].Type == 2)
{
for (int k = 0; k < Model[i].QuizAnswers.Count(); k++)
{
<li>
@Html.CheckBoxFor(Model[i].QuizAnswers[k].Correct, new { value = false, id = "checkanswer", data_questionid = @Model[i].Order })
@Html.DisplayFor(model => Model[i].QuizAnswers[k].Answer)
</li>
}
}
}
ヘルパーのチェックボックスにエラーが表示されます。私はチェックボックスで返されたブール値のフィールドを作成することを計画していましたが、ヘルパーを作成して既に存在するCorrectブール値フィールドにチェックボックスブール値を設定してこの問題に遭遇するかどうかをテストしました。
Model[i].QuizAnswers[k].Correct
はないリストを移入するために、単一のブール値を提供する必要があります:私の知る限り見ることができるように
。どこが間違っていますか?
それを指摘してくれてありがとうございました。それが終わったように痛いほど明白です... – Rob
私は時間の50%それは、はっきりと明白な顔であなたを見つめているものです。それは私たちすべての時点でいくつかの点で起こります:) – Bwolfing