Jquery 带逗号分隔符的double绑定失败
我有一个表单,其中数据被发布到Web API端点。表单有两个输入字段:一个用于文本,一个用于数字 在Web API方面,我的对象设置如下:Jquery 带逗号分隔符的double绑定失败,jquery,asp.net-web-api,Jquery,Asp.net Web Api,我有一个表单,其中数据被发布到Web API端点。表单有两个输入字段:一个用于文本,一个用于数字 在Web API方面,我的对象设置如下: public class Course { public string Title { get; set } public double? Price { get; set; } } 当我为价格发送值“25,3”时,我得到以下错误: 值“25,3”对价格无效 发送值为“25.3”的工作正常 我正在使用jQuery表单序列化发布表单。您可以在
public class Course
{
public string Title { get; set }
public double? Price { get; set; }
}
当我为价格发送值“25,3”时,我得到以下错误:
值“25,3”对价格无效
发送值为“25.3”的工作正常
我正在使用jQuery表单序列化发布表单。您可以在web.config
中指定服务器上的区域性,如所示。您需要将区域性设置为使用逗号表示分数的区域性(例如,fr CA
)
如果您希望能够同时接受
和,
作为分隔符,则需要将价格
设置为字符串
,然后自己解析该值。是客户端还是服务器端的错误?我重写了OnActionExecuting以验证模型是否有效。在这里我看到了错误:值“25,3”对于价格无效。所以服务器端简单地回答:)你是如何解析传入值的?没什么特别的,只是拥有如上所述的dto,所以我尝试更改json格式化程序的区域性,它可以工作。但是如果我将$(“someform”).序列化为数据,那么它不是使用json序列化程序,而是使用FormUrlEncodedFormatter的序列化程序。因此,这仍然会失败,因为区域性更改在服务器端(在web.config中)。只要值以“23,5”的形式到达服务器,web api上的解析器就应该接收到更改。尝试在配置中设置,但需要进行进一步测试。它似乎对文化环境没有同样的作用。。