我使用 C# 函数 (File.aspx.cs) 从外部源获取一些值,并将此值用作数据表上的自定义属性。然而,我只得到 0,1,2 等作为 ID 值,而不是来自 C# dataID 变量的实际值,即使我已经var ID = '<%=dataID%>';在我的 JS 文件中使用(没有引号,我得到了错误(JS)表达式)。如何在我的 dt.file.js 上获取此 dataID 值?文件.aspx.cspublic 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 });
1 回答
斯蒂芬大帝
TA贡献1827条经验 获得超8个赞
您需要使用 data 属性来获取 createdRow 方法https://datatables.net/reference/option/createdRow中行的 json 。您应该能够执行 data.data_id (假设在序列化期间未更改属性名称)。
您也可以在那里执行 console.log(data) 并在浏览器开发工具 (f12) 中检查它以查看哪些属性可用。
- 1 回答
- 0 关注
- 217 浏览
添加回答
举报
0/150
提交
取消