有问题要传递数据表js仅将方法发布到WebApi控制器列表中

时间:2015-07-08 04:45:13

标签: jquery json datatables asp.net-web-api2

我试图将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
        });
    }

0 个答案:

没有答案