0
在这里有一个很好的JSON问题;在MVC中显示之前格式化JSON字符串? (与datatables)
我不知道如何去格式化日期,时间跨度,小数等,然后将其发送到MVC中的视图。我使用数据表jQuery插件,我的'DataHandler'方法返回一个JSON对象作为数据表的源。
当我处理数据和过滤客户端时,它非常简单,但现在我正在处理服务器端的数据。
控制器:
public JsonResult DataHandler(DTParameters param)
{
try
{
var dtsource = new List<spRegistrations_Result>();
using (entities dc = new entities())
{
dtsource = dc.spRegistrations().ToList();
}
List<String> columnSearch = new List<string>();
foreach (var col in param.Columns)
{
columnSearch.Add(col.Search.Value);
}
List<spRegistrations_Result> data = new ResultSet().GetResult(param.Search.Value, param.SortOrder, param.Start, param.Length, dtsource, columnSearch);
int count = new ResultSet().Count(param.Search.Value, dtsource, columnSearch);
DTResult<spRegistrations_Result> result = new DTResult<spRegistrations_Result>
{
draw = param.Draw,
data = data,
recordsFiltered = count,
recordsTotal = count
};
return Json(result);
}
catch (Exception ex)
{
return Json(new { error = ex.Message });
}
}
表初始化:
var table = $('#myTable').DataTable({
responsive: true,
"serverSide": true,
"ajax": {
"type": "POST",
"url": '/Table/DataHandler',
"contentType": 'application/json; charset=utf-8',
'data': function (data) { return data = JSON.stringify(data); }
},
"drawCallback": function(settings){
$('.card').hide();
},
"paging": true,
"deferRender": true,
"columns": [
{ "data": "RegId" },
{ "data": "PresenceDate" }, etc...
型号:
public int RegId { get; set; }
public System.TimeSpan StartTime { get; set; }
public System.TimeSpan EndTime { get; set; }
public System.DateTime PresenceDate { get; set; }
This is how it looks when the table is displayed
正如你所看到的,日期格式不是很好,这也是我想在显示数据之前格式化数据的原因。我最终希望在表格中展示的几个TimeSpan对象也是如此。
我对ajax还很新,也不知道如何去做这个最简单的方法。感谢您的任何意见!
非常感谢,我解决它使用这种技术。现在看起来很美:) –