いくつかのプロパティと配列を持つオブジェクトをポストしようとしています。 プロパティは正しく送信されますが、オブジェクト内の配列はMVC.NETコントローラでシリアル化されません。 この例では、ページは正しくマップされていますが、アレイオブジェクト(場所)はコントローラでは常にnull
です。 提案がありますか?アレイ内の配列を持つ角度のあるポストオブジェクト
//add some data
$scope.formData = {
Page: 1,
Locations: []
};
$scope.formData.Locations.push({
LocationID: 1,
LocationType: 1
});
$scope.formData.Locations.push({
LocationID: 2,
LocationType: 2
});
//post method
$http({
method: 'POST',
url: 'myurl',
params: $scope.formData,
}).then(function successCallback(
response) {
//do something
}, function errorCallback(response) {
//do something
});
サーバー側モデル
public class SearchAuctionData
{
public int Page { get; set; }
public List<SmallLocation> Locations { get; set; }
}
public class SmallLocation
{
public short LocationID { get; set; }
public short LocationType { get; set; }
}
コントローラ
[HttpPost]
[AllowAnonymous]
public async Task<JsonResult> GetAuctions(SearchAuctionData data)
{
//do somethng
return Json(result);
}
私はどのような見落とし:D。 paramsをデータに置き換え、すべて正常に動作します。 ありがとう – Robert