2013-05-10 46 views
0

我正在我的网站上实施反馈。就像现在一样,用户会看到一组部分,每部分都包含一组问题。每个问题有5个可能的答案,以单选按钮的形式出现,每个问题都有相同的可能答案列表。只能选择1个单选按钮,而不是每组中的一个

一切都画我所想要的,但我appearantly页面上识别它的每一个单选按钮作为这将导致仅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> 

生成的观点: 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来确定哪些属于一组?

回答

3

每个组都必须有一个独特的name代替id。你永远不应该在页面上有匹配的ID。

+0

这似乎确实是问题。我已经通过显式使用html而不是razor语法来生成name属性来解决此问题。 – 2013-05-10 16:37:50

+0

@JeroenVannevel很高兴能帮到你!祝你的项目好运! – eidsonator 2013-05-10 16:39:37

相关问题