我将数据发布到我的网络API,我发布的参数之一是日期选择器选择的日期。
以下是操作的发布数据(从firebug获取这些值)
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;}
}
在我的网络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控制器。有没有其他人遇到过这个问题?
对于正常行动(非网络api),我甚至不必为此设置任何文化。
请帮忙。
答案 0 :(得分:0)
将我的结束日期日期时间字段更改为字符串,然后将此结束日期作为字符串发布到我的控制器。
然后在控制器中使用DateTime.Parse()
将此字符串转换为日期。
我知道这不是人们想要的最佳解决方案,但这可以完成工作。
答案 1 :(得分:0)
我想知道你是否可以在JsonMediaTypeFormatter上调整你的JsonSerializerSettings。
config.Formatters.JsonFormatter.SerializerSettings.DateFormatHandling = ...