2017-02-05 2 views
-1

Служба веб-сервиса возвращает DateTime для вызова jQuery. Служба возвращает данные в этом формате:Преобразование .NET DateTime в JSON Asp.net MVC

/Date(1486308595040)/ 

Я получаю множество данных из таблицы базы данных я видел много статей по этому вопросу, и они ответили на это:

var d = new Date(); 
d.setTime(1245398693390); 
document.write(d); 

Но у меня есть 1000 или более записи из этого ответа я должен сделать, чтобы получить каждую строку и преобразовать ее в дружественные json данные, которые не подходят.

Мой код:

var history = db.v_recharge_payment_History.Where(x => x.RCV_UID == loginQuery.ID).OrderByDescending(x => x.RCV_ID).Take(10).ToArray(); 
        dictionary.Add("result", 200); 
        dictionary.Add("data", history); 
        return Json(dictionary, JsonRequestBehavior.AllowGet); 

Как я могу преобразовать это в JavaScript безвредной дату без итерацию каждой строки?

+0

@quasoft, этот ответ о том, что вы должны преобразовать каждый дату-столбцы каждой строки, не представляется возможным, если у меня есть 10000 или больше записей и спасибо вы за свой ответ –

+0

Что вы имеете в виду 1000 строк? Ваш '.Take (10)' возвращает только 10 строк. –

ответ

0

Не используйте JavascriptSerializer для генерации JSON. в методе Controller.Json() используется встроенный JavaScriptSerializer, который имеет много проблем, кроме странной сериализации даты. Вместо этого наследуйте JsonResult и переопределите с помощью Newtonsoft Json.NET. Я не буду приводить здесь пример, потому что это старая проблема, и вы должны найти множество примеров в Интернете для этого.

0

Использование Newtonsoft JSON сериализатора и аннотировать свойство DateTime с

[JsonConverter(typeof(JavaScriptDateTimeConverter))] 
Смежные вопросы