【问题标题】:JQuery Datatable Refresh - Unable to receive parameter value on MVC controller sideJQuery Datatable Refresh - 无法在 MVC 控制器端接收参数值
【发布时间】:2021-05-23 20:51:55
【问题描述】:

尝试在 JQuery 数据表中传递一些参数,它在 init 上工作正常。 但是当我尝试刷新数据表时,控制器端的值被接收为空。 代码如下:

 $("#SearchResultsTable").DataTable({
            "processing": true, 
            "serverSide": true, 
            "bLengthChange": false,
            "filter": false, 
            "pageLength": @Model.PageSize,
            "orderMulti": false, 
            "ajax": {
                "url": "/Request/SearchRequest",
                "type": "POST",
                "datatype": "json",
                "data": {
                    "Date_To": document.getElementById("Date_To").value,
                    "Date_From": document.getElementById("Date_From").value
                }
            },
            "columns": [
                { "data": "ABC", "name": "ABC", "autoWidth": true },
                { "data": "DEF", "name": "DEF", "autoWidth": true }
            ]
        }); 

刷新数据表:

$("#Search_Btn").click(function () {
            $("#SearchResultsTable").DataTable().clear();
            $("#SearchResultsTable").DataTable().draw();
        });

也试过了:

$("#Search_Btn").click(function () {
                var table = $('#SearchResultsTable').DataTable();
                table.ajax.reload();
            });

我想以这样的方式刷新表格,以便控制器端可以使用更新后的 'Date_To' 和 'Date_From' 值。

【问题讨论】:

  • 在您的 DataTable ajax 选项中,您可以使用一个函数:"data": function () {...},而不是使用 data: { ... }this answer 中有一个例子。由于您也在使用"serverSide": true,请注意该答案中的警告,并使用jQuery 的extend

标签: javascript jquery asp.net-mvc datatables


【解决方案1】:

您需要通过 jquery 数据表传递参数,如下所示:

"data": function (data) {

           data.Date_To = document.getElementById("Date_To").value;
           data.Date_From = document.getElementById("Date_From").value;

        }

详情请看以下教程

https://www.codeproject.com/Articles/1170086/Grid-with-Server-Side-Advanced-Search-using-JQuery

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-29
    • 1970-01-01
    • 2021-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-08
    • 2018-09-07
    相关资源
    最近更新 更多