javascript - 从数据表属性的 C# 变量中获取值

标签 javascript c# datatables

我使用 C# 函数 (File.aspx.cs) 从外部源获取一些值,并将此值用作 custom attributes在数据表上。然而,我只得到 0、1、2 等作为 ID 值,而不是 C# dataID 变量的实际值,尽管我已经使用了 var ID = '<%=dataID%>';。在我的 JS 文件上(没有引号,我得到了错误 (JS) Expression expected)。

如何在我的 dt.file.js 上获取此 dataID 值?

File.aspx.cs

public partial class Example : System.Web.UI.Page
{
    public static int dataID;

    protected void Page_Load(object sender, EventArgs e)
    {

    }

    [WebMethod]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public static DataTableResponse GetList(string parameters)
    {
        DataTableAjaxPostModel model = JsonConvert.DeserializeObject<DataTableAjaxPostModel>(parameters);
        List<FieldAgentRow> list = new List<FieldAgentRow>();

        XmlDocument doc = Utilities.FileToXmlDocument("data");

        foreach (XmlNode person in doc.SelectNodes("//Personal"))
        {
            FieldAgentRow tmp = new FieldAgentRow();

            //other codes

            tmp.data_id = Int32.Parse(person.SelectSingleNode("ID").InnerText);
            dataID = tmp.data_id;

            list.Add(tmp);
        }

        DataTableResponse res = new DataTableResponse();
        res.draw = model.draw;
        res.data = list;

        return res;
    }
}

dt.file.js

$(document).ready(function () {
    var ID = '<%=dataID%>';
    var table = $('#list').DataTable({
        "createdRow": function (row, data, ID ) {
            $(row).attr('data-id', ID);
        }
        //other codes
    });

更新解决方案: 感谢Paul's answer ,我可以通过修改我的 JS 代码来获取 data_id 值:

$(document).ready(function () {
    var table = $('#list').DataTable({
        "createdRow": function (row, data, dataindex) {
            $(row).attr('data-id', data.data_id);
        }
        //other codes
    });

最佳答案

您需要使用数据属性获取 createdRow 方法中行的 json https://datatables.net/reference/option/createdRow .您应该能够执行 data.data_id(假设属性名称在序列化期间未更改)。

您还可以在那里执行 console.log(data) 并在您的浏览器开发工具 (f12) 中检查它以查看可用的属性。

关于javascript - 从数据表属性的 C# 变量中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51668038/

相关文章:

javascript - 在特定执行上下文 (iframe) 上运行 javascript

c# - C# 中自然语言生成的任何库或示例?

c# - 日期不显示正确结果的DataTable选择方法

javascript - 根据 slider 值更改按钮中的链接

javascript - 与对象属性同名的原型(prototype)属性

javascript - 如何将二进制多部分表单数据作为 base64 发送?

c# - 如何使对象/层忽略附近的裁剪平面?

c# - 如何在控制台的同一行上从整数打印文本和值?

jquery - 在 jquery 数据表中显示嵌套的 JSON 数据

php - DataTables:使用多个表、分组和 html 内容加速服务器端处理?