讓事情變得簡單,我有以下特性的模型調查:如何在MVC模型中爲下拉列表保留項目的集合?
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; }
}
答案被用來建立可能的答案的下拉列表框(一用戶選擇一個)
在我的視圖中,我使用IEnumerable模型 其中對於每個問題,我都有一個可供選擇的答案列表。
我預先填充這個集合並傳遞給我的視圖。當我點擊提交時,它會返回控制器進行驗證。如果模型無效,我將它傳遞給相同的視圖,以便用戶像往常一樣修復他的答案。
問題 - 用於下拉列表的答案集在我提交時不會保留在模型中。我使用HiddenFor,EditorFor和DropDownListFor作爲單值屬性,但是,如何在模型中保留一組可能的答案?
P.S>
感謝。
P.S.我使用單行代碼@ Html.DropDownListFor呈現下拉在我EditorTemplate:
@Html.DropDownListFor(model => model.SelectedAnswerCode,
new SelectList(Model.Answers, "AnswerCode", "AnswerText", 0))
對不起,沒有幫助。不知道這可能會有幫助。 – monstro
http://stackoverflow.com/questions/13749631/collection-nested-within-model-is-not-bound-by-mvc-3-always-null/13749809#13749809 –
您可能需要添加一個外鍵。在兩個類中都像QuestionId一樣。然後,EF應該查找與您正在迭代的任何問題相同的QuestionId的所有答案。 –