2012-09-03 25 views
0

我使用的數據表,我得到我的數據,如它的例子所示數據表從API獲取JSON沒有設置「aaData」

$('.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

而不是屬性aaData,您可以告訴DataTables使用另一個屬性名稱與sAjaxDataProp參數。例如:

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

好,我設置了''sAjaxDataProp「:」「',它現在可以使用MVC3的默認JSON輸出而不使用任何包裝。謝謝 – sed