我有一个Winform客户端,它向我的控制器发送一个json post请求,其日期时间值格式为dd / MM / yyyy,并且该调用返回状态码400.
我试着添加:
<globalization uiCulture="fr" culture="fr-FR" />
到我的web.config文件,但它仍然无法正常工作.
编辑:
我还应该补充一点,我无法控制客户端,我补充说:
[DisplayFormat(ApplyFormatInEditMode = true,DataFormatString = "{0:dd/mm/yyyy}")]
我的模型没有结果
解决方法
如果您通过JSON发布此内容,那么您应该能够为您的日期格式创建一个JSON.NET转换器.实施细节是
here.
事实上,在研究这个答案时,我在SO WebApi Json.NET custom date handling上找到了这个完整的例子
显然,只需将MyDateTimeConvertor中的转换更改为使用当前文化和您指定的格式的内容.
DateTime.ParseExact(reader.Value.ToString(),"dd/mm/yyyy",CultureInfo.CurrentCulture);
和
writer.WriteValue(((DateTime)value).ToString("dd/mm/yyyy"));