我正在使用数据表,我得到的数据如示例所示

$('.data-table').dataTable({
        "bProcessing": true,
        "sAjaxSource": "/api/item/list",
        "aoColumns": [
            { "mData": "Title" },
            { "mData": "Price" }
        ]
});


但是有一个问题,我需要拿走所有对象并将它们包装在aaData中,以便像这样工作

[HttpGet]
public dynamic List()
{
    var items = _db.Items.OrderBy(x => x.ID);

    var a = new {
        aaData = items
    };

    return a;
}


这很糟糕,因为很明显的原因,我需要为此修改后端,而不是返回普通的JSON。我尝试设置aaData而不是sAjaxSource,但是出现错误,并且没有用。关于如何解决此问题的任何想法?

最佳答案

除了属性aaData,还可以告诉DataTables使用带有sAjaxDataProp参数的另一个属性名称。例如:

// Get data from { "data": { "inner": [...] } }
$(document).ready( function() {
  var oTable = $('#example').dataTable( {
    "sAjaxSource": "sources/data.txt",
    "sAjaxDataProp": "data.inner"
  } );
} );

09-25 18:50