0

私はデータテーブルを使用しており、例に示されているようにデータを取得しています

$('.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たが、エラーが発生し、機能しませんでした。どうすればこれを修正できますか?

4

1 に答える 1

4

property の代わりにaaData、パラメーターで別のプロパティ名を使用するように DataTables に指示できsAjaxDataPropます。例えば:

// Get data from { "data": { "inner": [...] } }
$(document).ready( function() {
  var oTable = $('#example').dataTable( {
    "sAjaxSource": "sources/data.txt",
    "sAjaxDataProp": "data.inner"
  } );
} );
于 2012-09-03T16:38:42.373 に答える