DateTimeOffset和kendo数据源

时间:2015-02-11 14:13:16

标签: asp.net-mvc kendo-ui kendo-grid

我正在使用MVC kendo助手来显示一个具有远程数据源的网格。一切都按预期工作,直到我尝试将过滤器应用于几个日期的网格字段。

问题是,只要我应用过滤器,kendo网格就会将日期作为DateTime传递给服务器,但是,我在服务器中的域模型中的日期表示为DateTimeOffset,因此服务器会抛出一个异常,说明存在无法将DateTime转换为DateTimeOffset。

所以我正在寻找一种解决方法,因此客户端可以以正确的方式发送过滤器,因此MVC构建了DateTimeOffset。

现在客户端正在发送这样的过滤器:

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

我想而不是:Timestamp~gte~datetime'2015-02-10T00-00-00'应该是这样的:Timestamp~gte~datetimeoffset'2015-02-10T00-00-00'

提前谢谢!

1 个答案:

答案 0 :(得分:0)

您有几种选择。

  • 在服务器上创建自定义模型绑定器/类型转换器,将传入日期解析为DateTimeoOffset

  • 在dataSource的传输中定义自己的parameterMap函数,它将以正确的格式准备值。或者使用内置函数来处理大部分工作并最终完成您的工作

  • 最简单的方法是使用更新操作的数据功能发送附加数据。当然,您将为有效负载再创建一个字段,但您不需要为休息参数处理整个解析。在数据功能内部,您应该可以访问发送到服务器的模型,这样您就可以在适当的格式中轻松添加一个字段。

如果你想知道DateTimeOffset的格式是什么:

yyyy-MM-ddTHH:mm:ss+00:00
相关问题