私は真っ昼間に巻き込まれているようです:
私はモデルクラスを持っています
public class Pilot
{
//.. other prop-s escaped
private List<FlightHoursEntry> FlightHours { get; set; }
}
public class FlightHoursEntry
{
public string Description { get; set; }
public int Hours { get; set; }
}
ビューは下にリストされ、すべて正しく表示されますが、ポストバックでは FlightHours プロパティが null です。エンジンがパイロットのオブジェクトを正しく初期化しないのはなぜですか?
PilotEditView で@Html.EditorFor(model => model.FlightHours)を使用しています
FlightHoursCollectionView は次のとおりです。
@model List<FlightHoursEntry>
@for (int i = 0; i < Model.Count; i++){
FlightHoursEntry fh = Model[i];
@Html.Partial("~/../FlightHoursEntryEditView.cshtml", fh);}
また、私はこの方法を試しました @Html.EditorFor(model=>model[i], "FlightHoursEntryEditView", fh)
および単純な FlightHoursEntryEditView
@model PumaMvc.Models.BusinessObjects.Copa.FlightHoursEntry
<div class="editor-label">
@Html.LabelFor(model => model.Hours)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Hours)
@Html.ValidationMessageFor(model => model.Hours)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Description)
</div>
<div class="editor-field">
@Html.TextAreaFor(model => model.Description)
@Html.ValidationMessageFor(model => model.Description)
</div>