2016-07-23 54 views
0

我有serverside分页datatable与定义下面,它工作正常,但事情是;一个字段包含太长,所以我需要设置一个细节按钮,而不是它,当其点击弹出显示并查看描述的数据。在渲染前编辑jquery dt响应

我试过将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 }, 
      ] 
    }); 
    }); 

这里是这个模型的数据表的模型认定中contorller响应列表。

public class Book 
    { 
     public string Title { get; set; } 
     public string Publisher { get; set; } 
     public string Description { get; set; } 
     public string[] Authors { get; set; } 
    } 

回答

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; 
    } 
    } 
}); 
+0

voaw的这么快,exaclty我期待..东西谢谢老兄.. – TyForHelpDude