当教师创建问题时,他必须提供3个答案,其中一个是正确的,另外两个是错误的。
public class AddQuestion
{
public string QuesBody { get; set; }
public List<Answer> AnsLst { get; set; }
}
每个答案都有它的主体和一个bool字段,表明它是否是正确的:
public class AddQuestion
{
public string AnswerBody { get; set; }
public bool Correct { get; set; }
}
我尝试使用单选按钮来指示哪个答案是正确答案。
@Html.TextAreaFor(c => c.AnsLst[0].AnswerBody)
@Html.RadioButtonFor(c => c.AnsLst[0].Correct, false)
<br />
@Html.TextAreaFor(c => c.AnsLst[1].AnswerBody)
@Html.RadioButtonFor(c => c.AnsLst[1].Correct, false)
<br />
@Html.TextAreaFor(c => c.AnsLst[2].AnswerBody)
@Html.RadioButtonFor(c => c.AnsLst[2].Correct, false)
问题是:当我选择2个,甚至3个单选按钮时,它们都保持活动状态。它应该只有一个是活跃的。 如何强制它们一次只保留一个活动状态,以及如何检索其值???
答案 0 :(得分:3)
第二个参数是发布表单时的峰值。
更合适@Html.TextAreaFor(c => c.AnsLst[0])
@Html.RadioButtonFor(c => c.SelectedAnswer, 0)
<br />
@Html.TextAreaFor(c => c.AnsLst[1])
@Html.RadioButtonFor(c => c.SelectedAnswer, 1)
<br />
@Html.TextAreaFor(c => c.AnsLst[2])
@Html.RadioButtonFor(c => c.SelectedAnswer, 2)
您的模型看起来像这样
public class AddQuestion
{
public string QuesBody { get; set; }
public List<string> AnsLst { get; set; }
public int SelectedAnswer { get; set; }
}