Это старая история из-за того, что у json нет формата по умолчанию для дат.Более того, формат /Date(.....)/, представленный .Net (.Net, а не только asp.net), нелегко обрабатывать и настройкой json, разрешенной всеми современными браузерами:
- Первая проблема заключается в том, что формат /Date(.....)/ не понимается функцией анализа json в браузере.Это легко решается путем настройки анализа Json.В сети много исправлений.
- У вас такая же проблема при отправке даты на сервер.Однако в этом случае очень сложно выполнить исправление, потому что, хотя метод JSON.stringify принимает функцию для настройки сериализации json, если вы передаете функцию, которая преобразует каждую дату в строку «/Date(.....)/»...то функция stringify ADD furteh \ и преобразует ее в: "\ / Date (.....) \ /", то есть она избегает \ char .... но преобразованная таким образом строка не понимаетсяDotNet.С другой стороны, если вы преобразуете даты в /Date(.....)/...no не добавляется escape-символ, так что ... и в этом случае вы получите неправильную кодировку.
- Также, если вырешить вышеупомянутые проблемы ... после сервера туда-обратно / клиента / сервера дата возврата изменилась.В частности, смещение временной шкалы вычитается из исходной даты ... Это происходит из-за того, что .Net и браузеры обрабатывают временные линии.
- upshot просто вызывает функцию браузера JSON.stringify ... так что это не оставляет васпространство для настройки дат.
если вы используете функцию клиентские блоки проекта Mvc Controls Toolkit (я являюсь координатором), вы можете использовать "расширенный" нокаут, который обрабатываетавтоматически проблемы 1 и 2. В следующем выпуске, который выйдет через несколько дней, я добавлю также автоматическую обработку проблемы 3. Однако ... это не решит проблему исхода ... так как я подключил функции отображенияплагин отображения knokout, который не используется upshot для отправки данных обратно на сервер ... и, поскольку upshot вызывает напрямую JSON.stringify ... похоже, нет способа исправить проблему ... кроме изменения upshot для обработки jsonпользовательские форматы при публикации данных.
В готовой версии Client Blocks я предоставлю UpdateManagerкласс, который выполняет работу, "похожую" на upshot, которая правильно обрабатывает даты ... Однако это никогда не заменит upshot, поскольку использует совершенно другую стратегию обновления ... и это просто опция БОЛЬШЕ, а не замена.Поэтому я надеюсь, что в финальной версии upshot появится возможность настроить форматирование данных в формате json.