【问题标题】:Date format in web api & Ajax applicationWeb api 和 Ajax 应用程序中的日期格式
【发布时间】:2015-06-14 22:16:55
【问题描述】:

我有一个 web api 2 应用程序,我在其中遇到了这个问题:

在我的viewmodel

    [DataType(DataType.Date)]
    [DisplayFormat(DataFormatString = "dd/mm/yyyy")]
    [Display(Name = "Date de naissance   ")]
    public Nullable<System.DateTime> birth_date { get; set; }

在视图中:

<input type="date" id="editbirth_date" name="birth_date" placeholder="dd/mm/yyyy" />

在脚本中:

 $.ajax({
                type: "GET",
                url: "/api/Client/GetClient/" + selectedRadio.attr('value'),
                success: function (data) {
                    $('#editid').val(data.id);
                    $('#editcnss').val(data.cnss);
                    $('#editlastname').val(data.lastname);
                    $('#editfirstname').val(data.firstname);
                    $('#editAdresse').val(data.address);
                    $('#editbirth_date').val(data.birth_date);
                    $('#editbirth_place').val(data.birth_place);
                    $('#editmutuelle').val(data.mutuelle);
                    $('#editcaisse_assu_maladie').val(data.caisse_assu_maladie);
                    $('#editclient_type').val(data.client_type);

                    selectView("edit");
                }
            });

最后,在控制器中:

  [HttpGet]
    public ClientModel GetClient(int id)
    {
        ajt_client entity = repo.GetClientById(id);
        ClientModel item = Mapper.Map<ajt_client, ClientModel>(entity);
        return item;
    }

当我调试代码时,我得到 27/02/2015 00:00:00 作为 item.birth_date 的值。但在视图中我得到一个空字符串!!!

我需要知道:

  1. 为什么会这样?
  2. 如何修复我的代码?

【问题讨论】:

    标签: javascript html .net asp.net-mvc asp.net-web-api


    【解决方案1】:

    我认为您在控制台中遇到了这个错误:

    The specified value 'Invalid Date' does not conform to the required format, 'yyyy-MM-dd'.
    

    确实,您的日期不是所要求的格式,您需要在其之前进行转换:2015-02-27(而不是 27/02/2015)

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

    您可以使用此库操作 javascript 日期:MomentJS

    http://momentjs.com/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-28
      • 1970-01-01
      相关资源
      最近更新 更多