2017-06-02 19 views
1

我正在创建问卷应用程序,其中我必须加载随机问题并从用户那里获得答案。 我想知道,我应该如何使用按钮迭代记录。 我知道如何在视图上使用foreach/for循环显示数据,但要求是我必须一次显示一个问题,得到答案,将它存储在列表中,并且当用户按下“下一步”按钮时,我必须向用户呈现下一个问题记录。 我希望在这方面提供任何帮助。 谢谢。 我重视我的样本代码在这里:如何在mvc 5中查看IEnumerable查看不带foreach或for循环

视图模型类:

public class ExamViewModel 
{ 
    public IEnumerable<Question> QuestionsList { get; set; } 
    public string Heading { get; set; } 

    public Question GetQuestionAtIndex(IEnumerable<Question> questionsList, int index = 0) 
    { 
     return questionsList.ElementAt(index); 
    } 
} 

VIEW:

<h2>@Model.Heading</h2> 
<div class="panel-body"> 
     @{ 
      int index = 0; 
      var question = Model.GetQuestionAtIndex(Model.QuestionsList, index); 
     } 
     <div class="form-group"> 
      <div class="col-sm-8"> 
       <ul class="list-group"> 
        <li class="list-group-item list-group-item-heading list-group-item-warning"> 
         @question.QuestionText 
        </li> 
       </ul> 
      </div> 
     </div> 
</div> 
+0

你是用javascript来做这一切还是你想每次都提交答案给服务器? – nurdyguy

+0

我想将每个答案结果存储在列表中,并在整个测试结束时提交该列表。 (可以说10个问题之后) – Aleem

+0

这听起来更像是将答案存储在JavaScript中的数组中,然后通过表单提交或ajax提交。你可能会想要在开始时加载所有的问题,并使用jQuery来显示/隐藏个别问题。 – nurdyguy

回答

0

这是一个基本的轮廓:https://dotnetfiddle.net/xKdwlK

在那个例子我只是负载所有对数组的答案并使用ajax将其发送给控制器。我没有写控制器保存方法,因为我不知道你需要什么,但你可以填写它。

这只是一种方法,但你也可以使用表单提交而不是ajax。

+0

点击您的链接会产生错误404。 –

+0

这里是链接: https://dotnetfiddle.net/xKdwlK 我从编辑部分了解它。 – Aleem

+0

感谢它为我工作。 我会对其添加修改。 :) – Aleem