簡単にするために、次のプロパティを持つモデル調査があります。
class SurveyItem {
public string Question { get; set; }
public string SelectedAnswerCode { get; set; }
public List<Answer> Answers { get; set; }
}
Answerは次のようになります。
class Answer {
public int AnswerCode { get; set; }
public string AnswerText { get; set; }
}
Answersは、(ユーザーが1つ選択した)可能な回答のドロップダウンリストボックスを作成するために使用されます。
私のビューでは、IEnumerableのモデルを使用しています。ここでは、質問ごとに、選択できる回答のリストがあります。
このコレクションを事前に入力して、ビューに渡します。[送信]をクリックすると、検証のためにコントローラーに戻ります。モデルが有効でない場合は、通常どおり、ユーザーが回答を修正できるように、モデルを同じビューに渡します。
質問-ドロップダウンリストに使用される回答コレクションは、送信時にモデルに保存されません。単一値のプロパティにHiddenFor、EditorFor、DropDownListForを使用していますが、モデルに可能な回答のコレクションを保持するにはどうすればよいですか?
PS>
ありがとう。
PS私はEditorTemplateでドロップダウンをレンダリングするために単一行コード@Html.DropDownListForを使用しています:
@Html.DropDownListFor(model => model.SelectedAnswerCode,
new SelectList(Model.Answers, "AnswerCode", "AnswerText", 0))