Я создаю механизм голосования для моего приложения MVC. пользователь сможет голосовать только после входа в систему. У меня есть всего 3 таблицы tblQuestions (для заполнения вопросов), tblAnswers (для заполнения ответов), tblQuestionAnswerUserResponses (для заполнения ответа пользователя.) tblAnswers имеет отношение к tblQuestions. Я использовал следующий код в контейнере в HttpGet. Это мой код контроллера.
Невозможно использовать несколько моделей в MVC на основе любых условий
[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 на основе условий в моем представлении.
Если вы хотите использовать один и тот же вид для начального голосования, а также для редактирования, то ваш контроллер должен иметь возможность определить, проголосовал ли пользователь, и вам нужно будет отправить дополнительную информацию в ваш вид, указывающий режим. –