我有这个模型
public class SalesModelView
{
[Key]
public int SaleId { get; set; }
public int ShopId { get; set; }
public string ShopName { get; set; }
[Display(Name = "Date")]
public DateTime SaleDate { get; set; }
[Required]
[Display(Name = "Timer")]
[Range(0, 24)]
public int Hours { get; set; }
[Required]
[Display(Name = "Salg")]
public Decimal Sales { get; set; }
[Required]
[Display(Name = "Behandlinger")]
public Decimal Treatments { get; set; }
[Display(Name = "Omsætning")]
public Decimal Turnover { get; set; }
[Display(Name = "Oms./Timer")]
public Decimal TurnoverHour { get; set; }
[Display(Name = "Effektivitet")]
public Decimal Efficiency { get; set; }
}
在丹麦语语言环境中,小数通常显示为280.800,00
,因此.
为千位,,
为小数位。
我的观点显示了正确的内容
但是当保存回我的模型时,我将.
作为小数分隔符,将所有值传递给:
( original image for better visualization )
所以号码546.400
会转换为546,4
我已经尝试没有运气来连接表单提交并将所有.
替换为任何内容,例如
$("form").bind("submit", function() {
$(".number").each(function(){
var v = $(this).val(v).replace('.','');
$(this).val(v);
});
});
你们用什么技巧来做这类事情?
P.S。我确实阅读了Hanselman's article,但我仍然遇到了完全相同的问题,当我将其传递给出错的Controller
时,问题就完全在View
答案 0 :(得分:2)
在这些情况下,DefaultModelBinder无法正常工作。您可以自己编写或确保提交en-US值。这是一篇关于它的文章。