Asp.net mvc 我的Web API控制器不接受输入到AngularJS前端的日期?

Asp.net mvc 我的Web API控制器不接受输入到AngularJS前端的日期?,asp.net-mvc,angularjs,asp.net-web-api,Asp.net Mvc,Angularjs,Asp.net Web Api,我有以下课程: public partial class Book { public int BookId { get; set; } public Nullable<System.DateTime> Published { get; set; } } 当我输入2012年9月21日的日期时,它会以发布日期的形式进入服务器:2009年9月21日,但当我检查控制器时,数据显示为空 这个格式无效吗?我补充说: 但是当我查看我的Web API控制器时,我仍然看到它是空

我有以下课程:

public partial class Book
{
    public int BookId { get; set; }
    public Nullable<System.DateTime> Published { get; set; }

}
当我输入2012年9月21日的日期时,它会以发布日期的形式进入服务器:2009年9月21日,但当我检查控制器时,数据显示为空

这个格式无效吗?我补充说:


但是当我查看我的Web API控制器时,我仍然看到它是空的,当您发布到控制器操作时,默认的模型绑定器将使用服务器的当前CultureInfo格式来解析日期时间

当前的CultureInfo由web.config中的设置决定。对于exmaple,如果使用默认值auto,则服务器将使用浏览器的Accept Language request标头进行设置。因此,在这种情况下,它将取决于客户端web浏览器的设置

您可以明确指定区域性信息:

<globalization uiCulture="en" culture="en-US" />
我在我的web.config中添加了。我还需要装饰样板房吗?添加[DataTypeDataType.Date]怎么样,我也需要这样做吗?
public partial class Book
{
    public int BookId { get; set; }

    [DataType(DataType.Date)]
    [DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}", ApplyFormatInEditMode = true)]
    public System.DateTime? Published { get; set; }
}