Web api 和 Ajax 应用程序中的日期格式
Date format in web api & Ajax application
我有一个 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。但是在视图中,我得到一个空字符串!!
我需要知道:
- 为什么会这样?
- 如何修复我的代码?
我想你在控制台中遇到了这个错误:
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 Dates:MomentJS
http://momentjs.com/
相关文章:
- Javascript日期格式类似于ISO,但本地
- NodeJS日期格式不起作用
- 将客户端特定的日期格式返回到服务器MVC4
- ui网格日期单元格过滤器,过滤日期格式导致显示错误的日期
- 将Javascript日期转换为ASP.NET日期格式
- 在达到状态之前在Redux Reducer中设置日期格式
- 如何从Angularjs中的新日期获取日期格式
- 如何使用jquery更改为所需的日期格式
- keith wood日期选择器日期格式和语言
- Dygraph更改日期格式
- 确定Twig(或JavaScript)中的国际日期格式,以便在其他地方使用
- javascript和jquery日期格式转换
- 用javascript将日期格式从d/m/yyyy转换为yyyy-mm-dd
- 在Datepicker中将日期格式更改为yyyy-mm-dd
- 在Karma Jasmine单元测试用例中检查日期格式
- 使用不同的日期格式和区域设置创建时刻
- 更改日期选择器上的日期格式
- 以日期计算的天数更改日期格式
- 带有onchange的日期格式
- 如何从区域设置获取日期格式