0

私は自分のウェブサイトにフィードバックを実装しています。現在のように、ユーザーにはセクションのグループが表示され、それぞれに質問のグループが含まれています。各質問には、ラジオボタンの形式で 5 つの可能な回答があり、すべての質問には可能な回答の同じリストがあります。

すべてが希望どおりに描画されますが、ページ全体で選択可能なラジオボタンが1つだけになる同じ質問の一部として、ページ上のすべてのラジオボタンが認識されるようです。

これは、ページを生成するために使用される私のコードです:

<div class="centered feedbackwrapper ">
    @using (Html.BeginForm("SaveFeedback", "Leertraject")) {

        <h3>Feedback voor leertraject @Model.LeertrajectCode</h3>

        foreach (var section in Model.Sections) {
        <div class="feedbackonderdeel  well">
            <h4>@section.Name</h4>
            @foreach (var question in section.Questions) {
                <div class="feedback ">
                    <p class="feedbackvraag">@question.Question
                        <br />
                        @{
                        var choices = (IList<FeedbackChoiceViewModel>) Session["Choices"];
                        }

                        @foreach (var choice in choices) {
                            <span class="feedbackkeuze">
                                @Html.RadioButtonFor(x => choice.ChoiceID, @choice.ChoiceID, new {@id = @question.QuestionID})
                                @choice.Choice
                            </span>
                        }
                    </p>
                </div>
            }
        </div>
        }

        <input type="submit" class="btn btn-info" value="@Strings.SaveFeedback" />
    }
</div>

生成されたビュー: ここに画像の説明を入力

そして、生成されたソース コード:

<div class="feedback ">
                    <p class="feedbackvraag">Vraag 1
                        <br />


                            <span class="feedbackkeuze">
                                <input checked="checked" id="1" name="keuze.KeuzeID" type="radio" value="1" />
                                OV
                            </span>
                            <span class="feedbackkeuze">
                                <input checked="checked" id="1" name="keuze.KeuzeID" type="radio" value="2" />
                                V
                            </span>
                            <span class="feedbackkeuze">
                                <input checked="checked" id="1" name="keuze.KeuzeID" type="radio" value="3" />
                                G
                            </span>
                            <span class="feedbackkeuze">
                                <input checked="checked" id="1" name="keuze.KeuzeID" type="radio" value="4" />
                                ZG
                            </span>
                            <span class="feedbackkeuze">
                                <input checked="checked" id="1" name="keuze.KeuzeID" type="radio" value="5" />
                                NVT
                            </span>
                    </p>
                </div>
                <div class="feedback ">
                    <p class="feedbackvraag">Vraag 2
                        <br />


                            <span class="feedbackkeuze">
                                <input checked="checked" id="2" name="keuze.KeuzeID" type="radio" value="1" />
                                OV
                            </span>
                            <span class="feedbackkeuze">
                                <input checked="checked" id="2" name="keuze.KeuzeID" type="radio" value="2" />
                                V
                            </span>
                            <span class="feedbackkeuze">
                                <input checked="checked" id="2" name="keuze.KeuzeID" type="radio" value="3" />
                                G
                            </span>
                            <span class="feedbackkeuze">
                                <input checked="checked" id="2" name="keuze.KeuzeID" type="radio" value="4" />
                                ZG
                            </span>
                            <span class="feedbackkeuze">
                                <input checked="checked" id="2" name="keuze.KeuzeID" type="radio" value="5" />
                                NVT
                            </span>
                    </p>
                </div>

質問に対する回答の各セットが同じ ID を持っていることを考えると、ページ上のすべてのラジオボタンではなく、それらがグループ化されることを期待していました。ID を調べてどれが一緒に属しているかを判断するのではなく、すべてのラジオボタンを 1 つのグループとして扱うのはなぜですか?

4

1 に答える 1

3

name各グループには、ではなく個別の が必要idです。ページ上で一致する ID を持つべきではありません。

于 2013-05-10T16:20:53.783 に答える