질문 행 수를 보유하는 데이터베이스 테이블이 있습니다. 이 양식을 사용하여 데이터베이스에서 질문을 얻습니다. '다음'단추를 누르면 완벽하게 작동합니다. 하지만 '이전'버튼을 누르면 항상 첫 번째 질문으로 이동합니다. 이전 질문으로 이동하려면이 항목이 필요합니다. 이 내 다른 방법은MVC에서 뷰의 값을 컨트롤러로 전달
[HttpGet]
public ActionResult Index()
{
IQuestionService ser = new QuestionService();
QuestionLoadDTO q = ser.GetIndividualQuestions(1);
//ViewBag.question = q;
return View(q);
}
[HttpPost]
public ActionResult Index(QuestionLoadDTO ques)
{
int count = 0;
count = int.Parse(Request["qid"].ToString());
count++;
if (count <= 4)
{
IQuestionService ser = new QuestionService();
QuestionLoadDTO q = ser.GetIndividualQuestions(count);
return View(q);
}
return RedirectToAction("Submit");
}
public ActionResult PrevIndex(QuestionLoadDTO ques)
{
int count1 = 0;
count1 = int.Parse(Request["qid1"].ToString());
count1--;
if (count1 < 5 || count1 >= 0)
{
IQuestionService ser = new QuestionService();
QuestionLoadDTO q = ser.GetIndividualQuestions(count1);
//return View(q);
return RedirectToActionPermanent("Index",q);
}
return RedirectToAction("End");
}
public ActionResult Submit()
{
return View();
}
public ActionResult End()
{
return View();
}
: 같은
이@using (Html.BeginForm("Index", "Exam"))
{
@Html.Hidden("qid", Model.ID, new { @id = "id" })
<table>
<tr>
<td>
@Model.ID
</td>
<td>
@Model.QuestionDes
</td>
</tr>
<tr>
<td>
<p>@Html.RadioButton("Answer1", new { @id = 1 }) @Model.Answer1 </p>
</td>
</tr>
<tr>
<td>
<p>@Html.RadioButton("Answer2", new { @id = 2 }) @Model.Answer2 </p>
</td>
</tr>
<tr>
<td>
<p>@Html.RadioButton("Answer3", new { @id = 3 }) @Model.Answer3 </p>
</td>
</tr>
<tr>
<td>
<p>@Html.RadioButton("Answer4", new { @id = 4 }) @Model.Answer4 </p>
</td>
</tr>
</table>
<input type="submit" value="Next" />
}
@using (Html.BeginForm("PrevIndex", "Exam"))
{
@Html.Hidden("qid1", Model.ID, new { @id = "id1" })
<input value="Prev" type="submit"/>
}
이 내 컨트롤러 모양을 :
QuestionLoadDTO IQuestionService.GetIndividualQuestions(int index)
{
IQuestionData ser = new QuestionRepository();
QuestionLoadDTO q = ser.GetIndividualQues(index);
return q;
}
public QuestionLoadDTO GetIndividualQues(int index)
{
Context con = new Context();
Question question = con.Questions.Find(index);//Where(e => e.ID == index).FirstOrDefault();
QuestionLoadDTO dto = new QuestionLoadDTO()
{
ID = question.ID,
QuestionDes = question.QuestionDes,
Answer1 = question.Answer1,
Answer2 = question.Answer2,
Answer3 = question.Answer3,
Answer4 = question.Answer4
};
return dto;
}
누군가가 나에게 아이디어를 줄시겠습니까 이것은 내 양식이 같은 모습입니다 이것을 해결하기 위해. 미리 감사드립니다!
오류가 있습니까? – Mairaj
아니요 오류가 발생하지 않습니다 .... – Dayan
질문이 4 개입니까? – Mairaj