我有一个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 的值。但是在视图中我得到一个空字符串!!!
我需要知道:
答案 0 :(得分:0)
我认为你在控制台中遇到了这个错误:
The specified value 'Invalid Date' does not conform to the required format, 'yyyy-MM-dd'.
确实,您的日期不是所需的格式,您需要转换之前:2015-02-27(而不是27/02/2015)< / p>
最好的解决方案是你的API应该返回一个真正的Date对象,而不是一个格式化的字符串。在客户端,您应该能够以所需的格式解析实际日期yyyy-MM-dd
您可以使用此lib操作javascript日期:MomentJS