Asp.net mvc DateTimeOffset和kendo数据源

Asp.net mvc DateTimeOffset和kendo数据源,asp.net-mvc,kendo-ui,kendo-grid,Asp.net Mvc,Kendo Ui,Kendo Grid,我使用MVC剑道助手来显示一个网格,它有一个远程数据源。一切都按预期进行,直到我尝试将过滤器应用于两个日期网格字段 问题是,只要我应用过滤器,kendo网格就会将日期作为DateTime传递给服务器,但是,服务器中我的域模型中的日期表示为DateTimeOffset,因此服务器抛出异常,表示无法将DateTime转换为DateTimeOffset 因此,我正在寻找一种解决方法,以便客户端能够以正确的方式发送过滤器,这样MVC就可以构建DateTimeOffset 现在,客户端正在发送筛选器,如下

我使用MVC剑道助手来显示一个网格,它有一个远程数据源。一切都按预期进行,直到我尝试将过滤器应用于两个日期网格字段

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

因此,我正在寻找一种解决方法,以便客户端能够以正确的方式发送过滤器,这样MVC就可以构建DateTimeOffset

现在,客户端正在发送筛选器,如下所示:

排序:
页码:1
页面大小:10
组:
过滤器:时间戳~gte~日期时间'2015-02-10T00-00-00'

我想它应该是类似于:Timestamp~gte~datetimeoffset'2015-02-10T00-00-00'的东西,而不是:Timestamp~gte~datetimeoffset'2015-02-10T00-00-00'


提前谢谢你

您有几种选择

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

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

  • imo最简单的方法是使用update操作的data函数发送附加数据。当然,您将为有效负载再创建一个字段,但不需要处理rest参数的整个解析。在数据函数中,您应该可以访问发送到服务器的模型,以便可以轻松地以适当的格式在其中添加一个字段

如果您想知道DateTimeOffset的格式是什么,它类似于:

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

我想使用选项一,但我使用的是kendo MVC helpers,在数据源中找不到parametersMap属性。这是否得到助手的支持@Petersubev文件中演示了parameterMap函数,您有什么要点吗?js小提琴什么的!我试过很多东西,但都不管用@彼得苏贝夫