我有一个web应用程序,其中包含一些发布到webservice方法的表单。 json-post由jquery $ .ajax方法完成。虽然我的cultureinfo设置为nl-NL,但是当我发布表单的值时,我的webmethod会抛出错误" 10,00不是Decimal的有效值。"具有荷兰符号的日期时间也是如此。
似乎.net序列化程序忽略了全局文化设置。当我改变' 10,00'至' 10.00'该帖子被网络方法接受。
我们已经在这个问题上苦苦挣扎了一段时间,在SO和Google上找不到任何有用的东西。所以对此事的任何帮助都会非常好!
答案 0 :(得分:1)
所以基本上这是由于代码的和平而完成的:
// No exponent, may or may not have a decimal (if it doesn't it couldn't be parsed into Int32/64)
decimal dec;
if (decimal.TryParse(input, NumberStyles.Number, CultureInfo.InvariantCulture, out dec)) {
// NumberStyles.Number: AllowLeadingWhite, AllowTrailingWhite, AllowLeadingSign,
// AllowTrailingSign, AllowDecimalPoint, AllowThousands
return dec;
}
所以唯一的选择是替换,用。并屈服于英国至高无上的地位。