只能选择1个radiobutton,而不是每组中的一个

时间:2013-05-10 16:19:04

标签: c# html razor

我正在我的网站上实施反馈。就像现在一样,向用户显示一组部分,每个部分包含一组问题。每个问题都有5个可能的答案,以radiobuttons的形式出现,每个问题都有相同的可能答案列表。

一切都是按照我想要的方式绘制的,但很显然,我的页面会识别它上面的每个单选按钮,作为同一个问题的一部分,导致整个页面上只有一个可选择的单选按钮。

这是我用于生成页面的代码:

<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>

生成的视图: enter image description here

生成的源代码:

<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 个答案:

答案 0 :(得分:3)

每个群组必须具有不同的name而不是id。你永远不应该在页面上有匹配的ID。