2016-11-09 7 views
0

私はクイズを作成しようとしていますが、クイズには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 

はないリストを移入するために、単一のブール値を提供する必要があります:私の知る限り見ることができるように

。どこが間違っていますか?

答えて

1

Html.CheckBoxFormodel =>部分がありません。あなたがあなたの@Html.DisplayForにあるようにそれを追加すると、それはエラーを遠ざけるはずです

+0

それを指摘してくれてありがとうございました。それが終わったように痛いほど明白です... – Rob

+1

私は時間の50%それは、はっきりと明白な顔であなたを見つめているものです。それは私たちすべての時点でいくつかの点で起こります:) – Bwolfing

関連する問題