我刚刚解决了上述问题。我正在向控制器发送一个JSON对象,但是一旦在控制器方法中,对象的属性都是空的。
修复是添加{get;组; }到其类中对象的所有属性。这些房产已经公开但这还不够。
有谁能告诉我为什么会这样?
答案 0 :(得分:0)
为了得到答案,如果你看一下MVC DefaultModelBinder.cs代码,关于绑定复杂元素,你可以看到modelbinder只绑定了模型的属性。
internal void BindComplexElementalModel(ControllerContext controllerContext, ModelBindingContext bindingContext, object model)
{
// need to replace the property filter + model object and create an inner binding context
ModelBindingContext newBindingContext = CreateComplexElementalModelBindingContext(controllerContext, bindingContext, model);
// validation
if (OnModelUpdating(controllerContext, newBindingContext))
{
BindProperties(controllerContext, newBindingContext);
OnModelUpdated(controllerContext, newBindingContext);
}
}