2

当老师提出一个问题时,他必须提供 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 个单选按钮时,它们都保持活动状态。一次应该只有一个处于活动状态。我怎样才能强制他们一次只保持一个活动,以及如何检索它的价值???

4

1 回答 1

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; }
}
于 2013-06-03T14:21:22.160 回答