2

教師が問題を作成するとき、3 つの答えを提供する必要があります。そのうちの 1 つが正しく、残りの 2 つが間違っています。

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 つ選択しても、すべてアクティブなままになることです。一度にアクティブにできるのは 1 つだけです。一度に 1 つだけをアクティブに保つように強制するにはどうすればよいですか? また、その値を取得するにはどうすればよいですか?

4

1 に答える 1

3

2 番目のパラメーターは、フォームが投稿されたときにサミットする値です。あった方が適切でしょう

@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 に答える