在HttpGet上获取选中的选项

时间:2014-08-08 10:11:18

标签: asp.net-mvc-4 checkboxfor

我正在进行在线考试我希望保留学生的答案在http得到我只想要在http得到复选框,我将它们放在我的控制器模型中我只是想在视图一侧显示它们

我的模特

 public class Question
{
    public int QuestionId { get; set; }
    public string QuestionName { get; set; }
    public int QuestionTypeId { get; set; }
    public List<QuestionOption> Options { get; set; }
    public int SelectedOption { get; set; }
    public List<int> SelectedOptioncheckBox { get; set; }
    public int TestId { get; set; }
}

public class QuestionOption 
{
    public int OptionId { get; set; }
    public string OptionName { get; set; }
    public bool IsChecked { get; set; }
}

我的控制器

List<int> ChkOptions = studBal.GetCheckedAnswers((int)TestId, model[count].QuestionId, (int)(studBal.getStudentId(Session["sname"].ToString())));

 //model[0].SelectedOptioncheckBox[i]
 for (int i = 0; i < ChkOptions.Count(); i++)
 {
   model[count].SelectedOptioncheckBox[i]=ChkOptions.ElementAt(i);
 }

我的观点

@for (int j = 0; j < Model[i].Options.Count(); j++)
{
  <div>
  @if (chk == null || chk.Count() == 0 )
  {
    @Html.HiddenFor(m=>Model[i].Options[j].OptionId)
    @Html.CheckBoxFor(m => Model[i].Options[j].IsChecked)
  }
  else if ((chk[chkCount] == Model[i].Options[j].OptionId))
  {
    @Html.HiddenFor(m=>Model[i].Options[j].OptionId)
    @Html.CheckBoxFor(m => Model[i].SelectedOptioncheckBox[j], new { @checked=true})

  }
}

正如你在控制器方面看到的那样,我在模型中选择了已选择的选项,我想将它们传递给查看并生成相应的复选框,如果有任何正文可以解决此问题请帮助

1 个答案:

答案 0 :(得分:0)

您可以尝试从控制器返回模型的部分视图。例如:return PartialView("_Form",model),在视图@model QuestionOption或女巫中的模型名称中存储答案。然后您可以将其附加到主视图。Html.RenderPartial("_Form", Model);其中model = QuestionModel。