У меня есть этот метод действия ASP. NET MVC для обработки данных формы теста MCQ с переменным количеством вопросов. Я не могу найти способ создать модель или что-то еще для получения данных формы в действии.
Я отправляю вопросы в представление, используя это IEnumerable<ExamQuestionViewModel>
.
Это модель представления
public class ExamQuestionViewModel
{
public Guid QuestionId { get; set; }
public string QContent { get; set; }
public short Mark { get; set; }
public string OptionA { get; set; }
public string OptionB { get; set; }
public string OptionC { get; set; }
public string OptionD { get; set; }
}
Мое представление такое
@model IEnumerable<app.Models.ExamQuestionViewModel>
@{
ViewBag.Title = "StartExam";
Layout = null;
}
<h2>StartExam</h2>
@using (Html.BeginForm("SubmitExam", "Examinations", FormMethod.Post,new { id = ViewData["examId"] }))
{
@Html.AntiForgeryToken()
foreach (var item in Model)
{
<div class="row ml-4 my-4">
<h4>@item.QContent</h4>
<div class="form-group row">
<div class="form-check">
<input class="form-check-input" type="radio" name="@item.QuestionId" id="gridRadios1" value="@item.OptionA">
<label class="form-check-label" for="gridRadios1">
@item.OptionA
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="@item.QuestionId" id="gridRadios2" value="@item.OptionB">
<label class="form-check-label" for="gridRadios2">
@item.OptionB
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="@item.QuestionId" id="gridRadios3" value="@item.OptionC">
<label class="form-check-label" for="gridRadios3">
@item.OptionC
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="@item.QuestionId" id="gridRadios3" value="@item.OptionD">
<label class="form-check-label" for="gridRadios3">
@item.OptionD
</label>
</div>
</div>
</div>
}
<input type="submit" value="submit"/>
}
Есть ли способ получить данные формы, используя ту же модель представления?
Я пробовал используя FormCollection
:
[HttpPost]
public ActionResult SubmitExam(FormCollection form)
{
// store the data
return Content("success");
}
Но объект 'form' равен нулю, и я не делаю этого, если это правильный метод.
Заранее спасибо