为简单起见,我有一个具有以下属性的模型调查:
class SurveyItem {
public string Question { get; set; }
public string SelectedAnswerCode { get; set; }
public List<Answer> Answers { get; set; }
}
答案是这样的:
class Answer {
public int AnswerCode { get; set; }
public string AnswerText { get; set; }
}
Answers 用于构建可能答案的下拉列表框(用户选择一个)
在我的视图中,我使用了一个 IEnumerable 模型,对于每个问题,我都有一个可供选择的答案列表。
我预填充这个集合并传递给我的视图。当我单击提交时,它会返回到控制器进行验证。如果模型无效,我将它传递给同一个视图,让用户像往常一样修复他的答案。
问题- 用于下拉列表的答案集合在我提交时未保留在模型中。我将 HiddenFor、EditorFor 和 DropDownListFor 用于单值属性,但是,如何在模型中保留可能答案的集合?
PS>
谢谢。
PS我正在使用单行代码@Html.DropDownListFor 在我的EditorTemplate 中呈现下拉列表:
@Html.DropDownListFor(model => model.SelectedAnswerCode,
new SelectList(Model.Answers, "AnswerCode", "AnswerText", 0))