カスタム オブジェクトを持つビュー モデルがあります。最初の get では、Foo に値を設定し、いくつかの Foo のプロパティを使用します。
投稿では、ビュー モデルの Foo が null であることがわかりました。
ビューに追加する@Html.HiddenFor(x => x.Foo.Id)
ことで、Foo に少なくとも Id が入力されるようにすることができますが、すべてのプロパティに対して同様のコードを追加する必要が生じる可能性があります。
完全なオブジェクトを送り返す方法はありますか?
public class RequestModel
{
public Foo Foo{ get; set; }
[Required]
[Display(Name = "Comment")]
public string Comment { get; set; }
}
コントローラ
public ActionResult Index(int? id)
{
//Populate Foo here using EF and add it to the model
var model = new RequestModel { Foo = foo };
return View(model);
}
[HttpPost]
public ActionResult Index(int? id, RequestModel model)
{
return View(model);
}
意見
@Html.DisplayTextFor(m=>m.Application.Name)
等