我正在为我的MVC应用程序创建一个投票机制。用户将能够只投loged后,我完全有3个表tblQuestions(填充题),tblAnswers(填充答案),tblQuestionAnswerUserResponses(填充用户响应。)tblAnswers有tblQuestions关系。我在HttpGet的容器中使用了以下代码。这是我的控制器代码。
[HttpGet]
[ActionName("VotingResult")]
public ActionResult VotingResult(int personid)
{
List<Voting_Questions> QuesList = EpDObj.PopulateQuestions(); //Populate the list of questions
CountofQuestionsDisplayed = QuesList.Count;
ViewBag.Questions = QuesList; // Storing the list of questions in the viewbag
List<Voting_Answers> Answers = EmcObj.Voting_Answers.ToList(); //Populate the list of answers
return View(Answers);
}
我在视图中使用Voting_Answers作为模型我的观点是
@model IEnumerable<EmployeeManagementDAL.Voting_Answers>
<h2>VotingResult</h2>
@using (Html.BeginForm())
{
<div>
@foreach (var a in ViewBag.Questions)
{
<h4>@a.Questions</h4>
<div>
@foreach (var b in Model)
{
if (b.QuestionsID == a.id)
{
@Html.RadioButton(b.AnswersOptions, new {Answerid= b.id, Questionid=a.id }) @b.AnswersOptions
}
}
</div>
}
</div>
<br/>
<div >
<input type="submit" value="Vote Now!!" onclick="return confirm('Are you sure you want to submit your choices?');"/>
</div>
}
当用户第一次访问此页面时,将不会选择任何选项。选择选项后,单击“保存”按钮会将详细信息保存到第三个表格,然后他将从该页面中退出。现在,如果他第二次到达该页面进行编辑,我希望我的页面在我的tblQuestionAnswerResponses中使用这些值进行渲染,即我想要使用我的tblQuestionAnswerResponses模型类。在这种情况下,我可以对两种情况使用相同的页面,即当用户第一次访问页面时以及第二次访问页面时。我可以根据视图中的条件在MVC中使用多个Model。
答案 0 :(得分:0)