2017-06-02 54 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