问题描述
因此,基本上,我试图存储用户为每个问题选择的答案。但是在数据库中什么也没有存储在数据库中。我不知道为什么整个测试采用某种形式,但是由于您可以显示的代码有限,我无法显示所有内容。
这是我的控制器操作:
[HttpGet]
public ActionResult test()
{
ViewData["TestModel"] = _testRep.GetAllTests();
ViewData["Title"] = "Waveaxis Aptitude Test";
return View();
}
[HttpPost]
public ActionResult Test(TakenTestModel model)
{
Dictionary<int,string> json = new Dictionary<int,string>();
if (!ModelState.IsValid)
{
return View();
}
for (int i = 0; i < model.SelectedAnswers.Count; i++)
{
json.Add(i,model.SelectedAnswers[i]);
}
var jsonDb = JsonConvert.SerializeObject(json);
model.TestForm = jsonDb;
_takenTestRep.Add(model);
return RedirectToAction("DoneWTest","AptTest");
}
这是我的观点:
@model AptTestMVC.Models.TakenTestModel
<h1>@ViewData["Title"]</h1>
<hr />
<div id="testForm">
@foreach (var question in testModel)
{
<div style="text-align: justify">
<div class="form-group">
@if (question.QuestionDirections != null)
{
<label>
@question.QuestionId) @question.QuestionDirections
<br /><br />@question.QuestionText
</label>
}
else
{
<label>@question.QuestionId) @question.QuestionText</label>
}
</div>
@if (question.QuestionImage != null)
{
<div class="form-group">
<img src="~/AptTestPics/@question.QuestionImage" />
</div>
}
<div class="form-group">
<hr style="width: 200px; text-align: left; margin-left: 0px;" />
</div>
<div class="form-group">
<label>
@Html.RadioButtonFor(model => model.SelectedAnswers[question.QuestionId],"A")
@question.AnswerOption1
</label>
</div>
<div class="form-group">
<label>
@Html.RadioButtonFor(model => model.SelectedAnswers[question.QuestionId],"B")
@question.AnswerOption2
</label>
</div>
<div class="form-group">
<label>
@Html.RadioButtonFor(model => model.SelectedAnswers[question.QuestionId],"C")
@question.AnswerOption3
</label>
</div>
<div class="form-group">
<label>
@Html.RadioButtonFor(model => model.SelectedAnswers[question.QuestionId],"D")
@question.AnswerOption5
</label>
</div>
@if (question.AnswerOption4 != null)
{
<div class="form-group">
<label>
@Html.RadioButtonFor(model => model.SelectedAnswers[question.QuestionId],"E")
@question.AnswerOption4
</label>
</div>
}
<hr />
</div>
}
</div>
<div class="form-group">
<input type="submit" value="Submit" class="btn btn-secondary" />
</div>
这是我的测试结果模型:
public class TakenTestModel
{
[Key]
public int Id { get; set; }
[required(ErrorMessage = "First Name is required")]
[display(Name = "First Name")]
public string FirstName { get; set; }
[required(ErrorMessage = "Last Name is required")]
[display(Name = "Last Name")]
public string LastName { get; set; }
[required(ErrorMessage = "Email Address is required")]
[display(Name = "Email Address")]
[DataType(DataType.EmailAddress)]
public string EmailAddress { get; set; }
[display(Name = "score")]
public int NumOfCorrectAns { get; set; }
public string TestForm { get; set; }
[NotMapped]
public Dictionary<int,string> SelectedAnswers = new Dictionary<int,string>();
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)