1

カスタム オブジェクトを持つビュー モデルがあります。最初の 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)

4

1 に答える 1

1

必要なプロパティを持つビュー モデルをソリューションに追加します。検証などを入れて、それを使用してページとコントローラーの間でデータを移動し、プロパティをEFオブジェクトにマップします。

于 2012-11-23T03:20:25.560 に答える