我需要使用某种自定义的模型绑定器来始终处理英国格式的传入日期,我已经设置了一个自定义模型绑定器,并注册为:
GlobalConfiguration.Configuration.BindParameter(typeof(DateTime),new DateTimeModelBinder());
这只适用于查询字符串参数,只有在我的参数中指定[ModelBinder]时才有效,所以我有办法让所有的动作都使用我的模型绑定器:
public IList<LeadsLeadRowviewmodel> Get([ModelBinder]LeadsIndexviewmodel inputModel)
此外,我如何将我的表单发送到我的Api控制器以使用我的模型绑定器?
解决方法
我想你不需要一个模型绑定.你的做法不正确正确的日期方法是使用客户端全球化库(如
globalize library)来解析任何语言格式化的日期,并将其转换为JavaScript日期对象.然后,您可以使用浏览器JSON.stringify在json中序列化您的datascript数据结构,这应该可以正常工作. 最好使用始终为日期的标准格式,并使用格式化程序而不是模型绑定.如果您使用C#DateTime对象的kind参数指定日期时间是以本地时间还是UTC时间表示,则可用格式化程序也会正确处理TimeZones.