我遇到了Datatables.net 1.10.9和WebApi控制器的麻煩。Datatables 1.10.9 + c#WebApi2
我寫的DataTable中的一個簡單的例子:
$(document).ready(function() {
$('#tableJQDataTable1').DataTable({
"processing": true,
"serverSide": true,
"ajax": {
"type": 'POST',
"url": '/api/prova/LoadData',
"dataSrc": function (json) {
var ret = JSON.parse(json);
return ret;
}
},
"autoWitdh": true,
"scrollY": 200,
"scrollCollapse": true,
"lengthChange": true,
"lenghtMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]],
"paging": true,
"pageLength": 20,
"pagingType": "full_numbers",
"columns": [
{ "data": "CodiceColore" },
{ "data": "Descrizione" }
]
});
});
的的WebAPI控制器是:
[HttpPost]
public string LoadData(DTParameters param)
{
string retValue = string.Empty;
using (TestDataController m_dc = new TestDataController())
{
m_dc.Initialize();
IQueryable<AnagraficaColori> m_anagraficaColori = m_dc.GetColori();
var m_data = m_anagraficaColori.ToList();
DTResult<AnagraficaColori> result = new DTResult<AnagraficaColori>
{
draw = param.Draw,
data = m_data,
recordsFiltered = m_data.Count(),
recordsTotal = m_data.Count()
};
retValue = JsonConvert.SerializeObject(result);
}
return retValue;
}
我從例如DTParameters和DTResult <>在:https://www.echosteg.com/jquery-datatables-asp.net-mvc5-server-side
我不在測試中不使用MVC應用程序,而是使用配置爲使用WebApi的簡單WebForms應用程序。
問題是我無法顯示數據。
從控制器的WebAPI的返回值是:
{"draw":1,"recordsTotal":1,"recordsFiltered":1,"data":[{"CodiceColore":"C110OP","Descrizione":"Ciliegio C001 "}]}
所以它似乎是在正確的形式與數據表所需要的所有返回參數。
如果我在DATASRC功能將斷點我看到一個包含此RET值:
Object {draw: 1, recordsTotal: 1, recordsFiltered: 1, data: Array[1]}
這似乎沒事。
但是Datatables顯示消息:「找不到匹配的記錄」,並且沒有顯示任何內容。
我錯過了什麼?
問候,朱塞佩。
也許你的URL'/ API/PROVA/LoadData'是錯誤的。 –