ASP.NET WEBAPI引用的类型不会自动绑定

时间:2013-12-28 18:52:54

标签: c# asp.net-web-api

我有这两个简单的类:

public class Customer
{
    public virtual int Id{get;set;}
    public virtual string Name{get;set;}
    public virtual Brand Brand { get; set; }
}

public class Brand
{
    public virtual int Id{get;set;}        
}

当我'发布'或'PUT'Customer时,在我的webapi中:

public void Post([FromBody]Customer entity)

它不会创建Brand引用。

这是客户提交的数据:

Name: "Some Customer Name"
Brand.Id: "2"  // <<---- this suppose to instanciate Brand inside Customer with "3" as Id

相反,我得到了null 我几乎可以肯定MVC Brand模型会被绑定。

UPDATE1
这是数据的发送方式:
enter image description here

1 个答案:

答案 0 :(得分:2)

我想你提交JSON数据。在这种情况下,请尝试将您发送的数据更改为:

{
    Name: "Some Customer Name", 
    Brand: { Id: "2" }
}

由于Brand是一个子对象,您可以在单独的花括号块中指定其值。