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還很新,也不知道如何去做這個最簡單的方法。感謝您的任何意見!
非常感謝,我解決它使用這種技術。現在看起來很美:) –