Javascript web api中的日期格式&;Ajax应用程序

Javascript web api中的日期格式&;Ajax应用程序,javascript,html,.net,asp.net-mvc,asp.net-web-api,Javascript,Html,.net,Asp.net Mvc,Asp.net Web Api,我有一个web api 2应用程序,其中存在以下问题: 在my视图模型中: [DataType(DataType.Date)] [DisplayFormat(DataFormatString = "dd/mm/yyyy")] [Display(Name = "Date de naissance ")] public Nullable<System.DateTime> birth_date { get; set; } 最后,在控制器中: [Ht

我有一个web api 2应用程序,其中存在以下问题:

在my
视图模型中

    [DataType(DataType.Date)]
    [DisplayFormat(DataFormatString = "dd/mm/yyyy")]
    [Display(Name = "Date de naissance   ")]
    public Nullable<System.DateTime> birth_date { get; set; }
最后,在控制器中:

  [HttpGet]
    public ClientModel GetClient(int id)
    {
        ajt_client entity = repo.GetClientById(id);
        ClientModel item = Mapper.Map<ajt_client, ClientModel>(entity);
        return item;
    }
[HttpGet]
公共ClientModel GetClient(int-id)
{
ajt_客户实体=repo.GetClientById(id);
ClientModel item=Mapper.Map(实体);
退货项目;
}
当我调试代码时,我得到
27/02/2015 00:00:00
作为项.birth\u date的值。但是在视图中我得到一个空字符串

我需要知道:

  • 为什么会发生这种情况
  • 如何修复我的代码

  • 我认为您在控制台中遇到了以下错误:

    The specified value 'Invalid Date' does not conform to the required format, 'yyyy-MM-dd'.
    
    事实上,您的日期不是所需格式,您需要在以下日期之前对其进行转换:2015-02-27(而不是2015年2月27日)

    最好的解决方案是API应该返回一个真实的日期对象,而不是格式化的字符串。在客户端,您应该能够以所需的格式yyyy-MM-dd解析实际日期

    您可以使用以下lib:MomentJS操作javascript日期

      [HttpGet]
        public ClientModel GetClient(int id)
        {
            ajt_client entity = repo.GetClientById(id);
            ClientModel item = Mapper.Map<ajt_client, ClientModel>(entity);
            return item;
        }
    
    The specified value 'Invalid Date' does not conform to the required format, 'yyyy-MM-dd'.