カスタムクラスを含む複雑なモデルがあるとしましょう:
public class Car
{
public Car() {}
public Engine engine { get; set } // nested object
public int FuelRemaining {get; set;}
public int VehicleStatus {get; set;}
}
そして、次のような MVC 4 コントローラー:
[HttpPost]
public PartialViewResult ShowVehicleDetails(Car currentVehicle)
{
return PartialView(currentVehicle);
}
このクラスのインスタンスを ajax ポストを使用してコントローラーに渡し、ビュー、部分ビューを返そうとしたり、オブジェクトを覗き見したりすると、engineのすべての値がnullになりますが、それ以外はすべて問題ありません。
POST のリクエスト ヘッダーのフォーム データに表示される JSON の例を次に示します。
{"engine":{"engineVIN":258736,"engineKM":160015,"EngineDesc":"EcoTech V8"},"FuelRemaining":90,"VehicleStatus":1}
注: FuelRemainingとVehicleStatusの値は、コントローラーと結果ビューに問題なく表示されます。
なぜこれが当てはまるのか、これを回避する最善の方法を誰かが説明してもらえますか?
asp.net チームのこのブログ記事を見つけましたが、日付が 2010 年で、それ以上の最新情報を見つけることができませんでした。