2015-02-11 4 views
1

Я использую помощники MVC kendo для отображения сетки с удаленным источником данных. Все работает так, как ожидалось, пока я не попытаюсь применить фильтры к парам полей сетки, которые являются датами.DateTimeOffset и kendo Datasource

Проблема заключается в том, что, как только я применяю фильтр, сетка кендо передает даты как DateTime на сервер, однако даты в моей модели домена на сервере представлены как DateTimeOffset, поэтому сервер выдает исключение, не является способом преобразования DateTime в DateTimeOffset.

Так что я ищу обходное решение, поэтому клиент может отправить фильтр правильно, поэтому MVC создает DateTimeOffset.

Сейчас клиент посылает фильтр так:

sort: page:1 pageSize:10 group: filter:Timestamp~gte~datetime'2015-02-10T00-00-00'

Я думаю, вместо: Отметка ~ GTE ~ datetime'2015-02-10T00-00-00' , это должно быть что-то вроде : Временная метка ~ gte ~ datetimeoffset'2015-02-10T00-00-00 '

Спасибо заранее!

ответ

0

У вас есть несколько вариантов.

  • Создание пользовательских моделей связующего/конвертер типа на сервере, который будет анализировать поступающую дату в DateTimeoOffset

  • Определите собственную функцию parameterMap внутри транспорта DataSource, который подготовит значения в правом формат. Или используйте встроенную функцию для обработки большей части работы и, наконец, сделайте свои вещи.

  • Самый простой способ imo - использовать функцию данных операции обновления для отправки дополнительных данных. Конечно, вы создадите еще одно поле для полезной нагрузки, но вам не нужно обрабатывать весь синтаксический анализ для аргументов покоя. Внутри функции данных вы должны иметь доступ к модели, которая отправляется на сервер, поэтому вы можете легко добавить еще одно поле в нужном формате.

Если вам интересно, что формат для DateTimeOffset это что-то вроде:

yyyy-MM-ddTHH:mm:ss+00:00 
+0

Я хочу пойти с опцией один, но я использую кендо MVC хелперы, и я не могу найти свойство parametersMap в источнике данных. Поддерживается ли это помощниками? @PeterSubev – Daniel

+0

Функция parameterMap показана в документах [здесь] (http://docs.telerik.com/kendo-ui/api/javascript/data/datasource#configuration-transport.parameterMap) –

+0

у вас есть смысл ? js скрипка или что-то в этом роде! Я пробовал много вещей, и никто из них не работает! @PeterSubev – Daniel