0

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

我的模特

 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})

  }
}

正如您在控制器端看到的那样,我在模型中采用了已经选择的选项,我只是想将它们传递给查看并生成相应的复选框,如果有任何机构可以解决这个问题,请帮忙

4

1 回答 1

0

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

于 2014-08-08T13:10:10.483 回答