我试图将Ajax Post中的整个表数据传递给WebApi 2,并且我在服务器端得到null
的DataModel
public class Product
{
public string Id { get; set; }
public string Title { get; set; }
public string Site { get; set; }
public decimal? value { get; set; }
}
WebAPI 2控制器
[Route("Home/api/Active/UpdateData")]
public IHttpActionResult UpdateData(Product product)
{
// code
}
[Route("Home/api/Active/UpdateAllData")]
public IHttpActionResult UpdateAllData(List<Product> products)
{
// code (products here receives as null)
}
传递单行对象时工作正常:
$('#activeListing tbody').on('click', 'button.color', function() {
var tr = $(this).parent().parent();
var rowData = table.row(tr).data();
$.ajax({
method: "POST",
url: "api/Active/UpdateData",
data: rowData
})
.done(function (result) {
table.row(tr).data(result).draw(false);
}).fail(function (xhr, status, p3, p4) {
alert(xhr.responseText);
})
.always(function () {
// change the icon back
});
});
尝试传递整个表数据时无法正常工作
function updateAllData() {
var tableData = table.rows().data().toArray();
debugger;
$.ajax({
method: "POST",
url: "api/Active/UpdateAllData",
//data: JSON.stringify(tableData) // ??
data: tableData
}).done(function (result) {
// redraw the whole table
}).fail(function(xhr, status, p3, p4) {
alert(xhr.responseText);
})
.always(function () {
// change the icon back
});
}