我在下面有defide的服务器端分页数据,它工作正常但事情是;其中一个字段包含太长所以我需要设置一个详细信息按钮而不是它,当它点击弹出显示并查看数据时描述。
我尝试将success:function(aaData){..}
添加到ajax但是它会破坏数据表的任何建议吗?我不想在控制器中编辑模型我在浏览器中有数据,所以我想在这里处理..
$(document).ready(function () {
var table = $('#dtBooks').DataTable({
"processing": true,
"serverSide": true,
"filter": false,
"orderMulti": false,
"ajax": {
"url": "@Url.Action("GetBooks", "Home")",
"type": "POST",
"datatype": "json"
},
"columns": [
{ "data": "Title", "name": "Title", "autoWidth": true },
{ "data": "Publisher", "name": "Publisher", "autoWidth": true },
{ "data": "Description", "name": "Description", "autoWidth": true },
{ "data": "Authors", "name": "Authors", "autoWidth": true },
]
});
});
这是该模型对数据表的模型定义控制器响应列表。
public class Book
{
public string Title { get; set; }
public string Publisher { get; set; }
public string Description { get; set; }
public string[] Authors { get; set; }
}
答案 0 :(得分:1)
您可以使用ajax.dataSrc
选项来操纵从服务器返回的数据。
例如:
$('#example').DataTable( {
"ajax": {
"url": "data.json",
"dataSrc": function ( json ) {
for ( var i=0, ien=json.data.length ; i<ien ; i++ ) {
json.data[i][0] = '<a href="/message/'+json.data[i][0]+'>View message</a>';
}
return json.data;
}
}
});