ModelBinder文化默认行为的问题

时间:2018-06-18 04:08:57

标签: c# asp.net-core-mvc globalization uiculture

我是从巴西发展的。这里,默认的数字格式是,例如,“1.000,00”(点而不是逗号,反之亦然)。

我的问题在于MVC Core 2的默认设置。只需创建一个默认的ASP.Net MVC Core Web App,创建一个这样的模型:

public class TestModel
{
    public decimal Salary { get; set; } = 1.5M
}

为此模型创建默认的脚手架,您将看到此页面:enter image description here

Asp.Net MVC正确检测我的文化,并用逗号而不是点显示值。有趣的是,当我尝试提交时:

enter image description here

好的,页面显示正确,但验证ui没有正确地得到我的文化...我认为这个bizzarre,在某些文化中显示数据并期望在其他文化中收到回报......不一致。但是,好吧,为了测试,我将“1,50”改为“1.50”。我提交并在服务器端收到此消息:

enter image description here

我有很多解决这个问题的方法,但我觉得这个行为很奇怪。如果用户需要以一种格式接收数据,默认情况下,我认为必须以相同的格式显示。

但是,管理这种情况的正确(预期?)方式是什么?

0 个答案:

没有答案