2

我将数据发布到我的 web api,我发布的参数之一是日期选择器选择的日期。

以下是操作的发布数据(从萤火虫获得这些值)

EndDate : "18/10/2012" (注: 格式为 : dd/mm/yyyy)

ABC:“别打扰……”

XYZ:“别打扰……”

LMNO:“别打扰……”

现在在我的控制器中,我有一个包含上述 3 个字符串字段和一个日期字段的类

public class PostModel{

  public string ABC {get;set;}
  public string XYZ {get;set;}
  public string LMNO {get;set;}
  public DateTime EndDate {get;set;}
}

在我的 web api 中,它看起来有点像下面显示的

public Something PostSomething(PostModel model)
{}

在这里,我以“mm/dd/yyyy”的格式获取 EndDate 的值。我想要的是“dd/mm/yyyy”。

因此,为此我还在 web.config 文件中添加了一个条目,如下所示...

<system.web>
<globalization uiCulture="en-GB" culture="en-GB" />
</system.web>

这仍然没有帮助,请有人告诉我我在做什么错吗?

更令人震惊的发现!!!

我只是用普通控制器而不是 web api 控制器尝试了这个,它适用于非 api 控制器。有没有其他人遇到过这个问题?

对于正常操作(非 Web api),我什至不必为此设置任何文化。

请帮忙。

4

2 回答 2

0

将我的结束日期日期时间字段更改为字符串,然后将此结束日期作为字符串发布到我的控制器。

然后在控制器中使用DateTime.Parse().

我知道这不是人们想要的最佳解决方案,但这可以完成工作。

于 2012-12-05T04:23:38.407 回答
0

我想知道您是否可以在 JsonMediaTypeFormatter 上调整您的 JsonSerializerSettings。

config.Formatters.JsonFormatter.SerializerSettings.DateFormatHandling = ...

于 2013-04-06T01:12:20.243 回答