【发布时间】:2014-11-12 14:02:48
【问题描述】:
我正在使用 ASP.Net MVC 并尝试在每个 TR #ID 属性中设置数据源 rowID 值。
问题是我得到表 id=myDataTable - 为第 0 行请求未知参数“1”。
控制器返回:
var jsonSerialiser = new JavaScriptSerializer();
var json = jsonSerialiser.Serialize(List);
return Json(new
{
sEcho = param.sEcho,
iTotalRecords = result.Count,
iTotalDisplayRecords = 10,
aaData = json
},
JsonRequestBehavior.AllowGet);
和 List 是一个列表:
public class MyObj
{
public string DT_RowId {get;set;}
public string NumeLocatie {get;set;}
}
DataTables 初始化程序是:
oSesizariTable = $('#myDataTable').dataTable({
"scrollY": "600px",
"scrollCollapse": true,
"scrollX": true,
"bServerSide": true,
"sAjaxSource": "ControlSLA/AjaxHandler",
"bProcessing": true,
"aoColumnDefs": [
{
"width": "30",
"class": "details-control",
"orderable": false,
"mdata": null,
"defaultContent": "",
"targets": 0
},
{ "targets": 1, "width": "30", "mdata": "NumeLocatie" },],
"fnServerData": function (sSource, aoData, fnCallback) {
aoData.push({ "name": "DeLa", "value": $('#sesizariDeLa').val() });
aoData.push({ "name": "La", "value": $('#sesizariLa').val() });
$.getJSON(sSource, aoData, function (json) {
fnCallback(json)
});
}
});
$("#Refresh").click(function (e) {
oSesizariTable.fnDraw();
});
我刚刚开始使用 ASP.Net 和 MVC...我无法深入了解这一点!!!
从控制器发送的数据是:
{ draw = 1, recordsTotal = 2, recordsFiltered = 10, data = "[[\"DT_RowId\":\"ses_35335\",\"NumeLocatie\":\"Galati 1_\"],[\"DT_RowId\":\"ses_35342\",\"NumeLocatie\":\"3 Craiovei\"]]" }
现在错误是:
table id=myDataTable - 请求未知参数“NumeLocatie” 第 0 行
在错误提示处单击“确定”后,表格将数据中的每个字母显示在 1 行中。
【问题讨论】:
-
您确定问题仅出在 rowID 上吗?在我看来,您没有将正确的对象传递给桌子。表格是否正确填充?
-
你是对的。数据似乎格式不正确,因为当我从我的对象列表中创建一个字符串数组列表并返回它时,它正在工作,但我已经验证了序列化列表,它似乎是很好的 JSON 格式。更新了问题以显示数据。
标签: javascript jquery asp.net asp.net-mvc jquery-datatables