在 asp.net C# 中的 Jquery 数据表中获取 Id '未定义'

问题描述 投票:0回答:1
javascript jquery json ajax datatable
1个回答
0
投票

问题可能与您如何访问

ID
函数中的
DeleteCustomer
属性有关。查看您的代码,有几个区域可能导致问题。

首先,在

DeleteCustomer
函数中,尝试使用 .data("Id") 获取
ID
。但是,在呈现的删除按钮中,
ID
设置为 HTML 属性,而不是数据属性。

这是解决此问题的代码的更新版本:

$(document).ready(function () {
    // ... your existing code ...

    var datatableVariable = $('#gv_Datatable').DataTable({
        // ... your existing DataTable initialization ...

        "columnDefs": [{
            "targets": -1,
            "data": null,
            "defaultContent": "<a href='#' class='btn btn-success'>Delete</a>"
        }]
    });

    $('#gv_Datatable tbody').on('click', 'a', function () {
        var data = datatableVariable.row($(this).parents('tr')).data();
        var rowID = data.Id;
        alert(rowID);
        // Perform delete operation or any other logic with rowID here
    });
});

此代码将单击事件附加到 DataTable 每一行中的“Delete”按钮。单击按钮时,它会检索单击的行的数据并从中提取

Id
属性。

此外,请确保服务器端方法

GetCashBookList
的响应返回预期的 JSON 格式,并正确填充
Id
字段。此 JSON 结构应与您在 DataTable 中定义的列相匹配。

关于您的后端方法,

GetCashBookList
,确保它返回 DataTable 所需格式的 JSON。根据您提供的代码,它似乎正确序列化了
CashBookModel
对象列表,但请确认
Id
字段已正确填充在 JSON 响应中。

请记住验证从服务器返回的 JSON 结构是否与预期的 DataTable 列结构匹配。

这应该可以解决单击删除按钮时从数据表行中检索

ID
的问题。

© www.soinside.com 2019 - 2024. All rights reserved.