我想使用AngularJS將JavaScript項目發佈到C#WebAPI調用。以下是我想要做的。將複雜的對象從AngularJS傳遞給WebAPI
對象
class Address
{
public string Street { get; set; }
public string City { get; set; }
public string State { get; set; }
}
class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public Address address { get; set; }
}
我的C#控制器功能
[Route("Update/")]
public void Update(Person person)
{
_service.Update(person);
}
AngularJS調用
this.update = function (person) {
$http.post("api/Person/Update/", person);
}
當我接收對象中的WebAPI控制器的地址爲空。爲什麼沒有收到這些數據?
編輯 我錯在我原來的問題Person對象看起來像這樣
class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public IAddress address { get; set; }
}
當我從IAddress改變地址到地址一切工作正常。
我猜想,模型綁定失敗,你可以看看你發送什麼POST數據出來嗎?它需要完全匹配模型綁定才能成功。 –
如果你登錄,「person」看起來像什麼? –