假设我有一个包含自定义类的复杂模型:
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 post 将此类的实例传递给控制器,然后尝试返回视图、部分视图,甚至只是查看对象,引擎的所有值都是null,但其他一切都很好。
在我看到的 JSON 示例中,该示例显示在 POST 的请求标头的表单数据中:
{"engine":{"engineVIN":258736,"engineKM":160015,"EngineDesc":"EcoTech V8"},"FuelRemaining":90,"VehicleStatus":1}
注意:FuelRemaining和VehicleStatus的值在控制器和结果视图中显示得很好。
有人可以向我解释为什么会这样,以及如何最好地解决这个问题?
我确实从 asp.net 团队看到了这篇博客文章,但它是 2010 年的,我无法找到任何更新的信息。