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

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


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


文件.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;

    }

}

文件.js


$(document).ready(function () {

    var ID = '<%=dataID%>';

    var table = $('#list').DataTable({

        "createdRow": function (row, data, ID ) {

            $(row).attr('data-id', ID);

        }

        //other codes

    });

更新解决方案: 感谢Paul 的回答,我能够通过修改我的 JS 代码来获取 data_id 值:


$(document).ready(function () {

    var table = $('#list').DataTable({

        "createdRow": function (row, data, dataindex) {

            $(row).attr('data-id', data.data_id);

        }

        //other codes

    });


开心每一天1111
浏览 218回答 1
1回答

斯蒂芬大帝

您需要使用 data 属性来获取 createdRow 方法https://datatables.net/reference/option/createdRow中行的 json&nbsp;。您应该能够执行 data.data_id (假设在序列化期间未更改属性名称)。您也可以在那里执行 console.log(data) 并在浏览器开发工具 (f12) 中检查它以查看哪些属性可用。
打开App,查看更多内容
随时随地看视频慕课网APP