数据表asp.net核心剃须刀页面IActionResult新的JsonResult

时间:2020-02-11 20:25:46

标签: c# asp.net razor datatables

我如何在选择更改时设置表内容我正在通过jquery ajax发布谈论datatables.js库。如何返回新的JsonResult并使用处理程序的结果重绘表的内容?谢谢

1 个答案:

答案 0 :(得分:1)

这是我使用的过程: 摘要:

  1. 在顶级范围内声明js变量

  2. 在document.ready函数中,将数据表实例化为全局js变量

  3. 在ajax发布中,通过存储的对象清除表,然后迭代结果并添加行

深入了解

//declare this high in scope so you can access it in your functions
var dt;

$(document).ready(function () {
   //Create the datatable and assign it to variable for later reference
   dt = $('#MyTable').DataTable({dom: 'Bfrtip'});
});

$("#SomeBtn").click(function () {
  //clear current table rows
  dt.clear().draw();
  $.ajax({
         url: whatever Path,
         data: whatever Data,
            dataType: "json",
            type: "POST",
            cache: false,
            contentType: "application/json; charset=utf-8",
            success: function (data) {
                $.each(data, function (i, n) {
                    //Iterate results and add each to the table. This is why we stored the datatable in a highr scope so we can operate it on it here :)
                    dt.row.add([n.prop1, n.prop2, n.prop3]).node().id = n.propID + '_Row';
                    dt.draw(false);

                });
            },
            error: function (response) {
            },
            failure: function (response) {

            }
        });
 });

如您所见,通过将数据表静态化时将其存储在对象中,您可以根据其api在以后的函数中对其进行控制