问题
当我将 jSon 数据发布到 webapi 时,使用 pt-br 格式(日期为 dd/mm/yyyy,浮点数为逗号小数分隔符),这些值被反序列化为 en-us 格式,从而导致错误。
IE
» 日期:发布 23/01/2013 变为 01/01/0001
» 浮动:发布 1,4 变为 0.0
帮助请求
任何人都可以帮我定义“终极”解决方案,以使用除美国以外的其他文化将数据发布到 web api。我已经阅读了一些讨论,但没有一个提供完整的解决方案,甚至没有一个可行的解决方案。
考虑以下
模型:
public class Person
{
public Datetime BirthDate { get; set; }
public double Weight { get; set; }
}
ApiController 方法
public HttpResponseMessage Create(Person person)
{
// ...
}
AjaxCall
$.ajax({
type: 'POST',
url: sl.baseUri + "/create",
data: "Weight=87%2C7&BirthDate=17%2F07%2F1981",
success: null,
dataType: "json",
})
** 我已经在 web.config 中添加了以下全球化设置
<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="pt-BR" uiCulture="pt-BR"/>