ネストされた属性を持つモデル バインディングを正しく処理する方法について、うまく機能するソリューションを探しています。以下のような他の子モデルのリストを持つモデルが 1 つあります。
public class Organization : IEntity
{
[ScaffoldColumn(false)]
public int ID
{
get;
set;
}
[LocalizedDisplayName("Goals")]
public virtual ICollection<OrganizationGoal> Goals
{
get;
set;
}
}
コントローラーで、次のようにデータを更新しようとします。
[HttpPost]
public ActionResult Edit(string organizationIdentifier, FormCollection values)
{
var organization = organizationService.GetByIdentifier(organizationIdentifier);
if (TryUpdateModel(organization))
{
organizationService.Save(organization);
return RedirectToAction("Edit");
}
return View("Edit");
}
ただし、TryUpdateModel は常に false を返し、検証メッセージは UI に表示されません。UI は、標準の MVC ヘルパー EditorFor を使用して構築されます。
これを行うベストプラクティスは何ですか? ごく普通のシナリオでは、それほど簡単に情報を見つけることはできません。
ありがとう!