ネストされたクラスを持つエンティティ モデルがあります。FSRHire が親で、Employee が子です。
class FSRHire {
...
public virtual Employee Employee
...
}
class Employee {
...
public string LastName {get;set;}
public DateTime DOB {get;set;}
...
}
意見:
<div class="editor-label">
@Html.LabelFor(model => model.Employee.LastName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Employee.LastName)
@Html.ValidationMessageFor(model => model.Employee.LastName)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Employee.DOB)
</div>
<div class="editor-field">
@Html.TextBox(Html.IdFor(model => model.Employee.DOB).ToString(), Model.Employee.DOB.HasValue ? Model.Employee.DOB.Value.ToString("d") : "", new { @class = "date" })
@Html.ValidationMessageFor(model => model.Employee.DOB)
</div>
コントローラーへの投稿が機能しません。リクエストのデータは次のとおりです。
...Employee.LastName=Worker&Employee_DOB=01%2F01%2F1970& ...
モデル バインダーは、問題なく名前を取得します。Employee.DOB が null です。
おそらく、DOB フィールドのアンダースコアが原因です。(従業員_DOB)。どうしてこうなったのか、どうすれば治るのか気になります。