Asp.net mvc 如何处理大数字输入/显示的逗号?

Asp.net mvc 如何处理大数字输入/显示的逗号?,asp.net-mvc,asp.net-mvc-3,jquery-ui,Asp.net Mvc,Asp.net Mvc 3,Jquery Ui,我回忆起几年前不得不处理这种情况,从我在网上所能说的,这真的没有变得更容易 我有两种可能的情况。第一,用户希望在退出输入框后看到刚输入的数字,并用逗号格式化。另一个是用户希望实际输入逗号的位置 这两种情况都使验证和将数据作为十进制数传递到后端的处理更加有趣。我意识到这可以通过多种可能性来实现,比如按键向上/按键向下/模糊/聚焦事件;使用自定义验证修改jQuery验证器,等等。但这似乎意味着在不同的浏览器上可能会出现一些新功能和新地方。我们在处理这些事件(如blur/keyup)在不同浏览器中的反

我回忆起几年前不得不处理这种情况,从我在网上所能说的,这真的没有变得更容易

我有两种可能的情况。第一,用户希望在退出输入框后看到刚输入的数字,并用逗号格式化。另一个是用户希望实际输入逗号的位置

这两种情况都使验证和将数据作为十进制数传递到后端的处理更加有趣。我意识到这可以通过多种可能性来实现,比如按键向上/按键向下/模糊/聚焦事件;使用自定义验证修改jQuery验证器,等等。但这似乎意味着在不同的浏览器上可能会出现一些新功能和新地方。我们在处理这些事件(如blur/keyup)在不同浏览器中的反应方面有很多乐趣,这可能有点可怕

我们当前的视图使用HTML5。这有助于验证和输入,而无需大量编码。如果可能,我们希望继续使用这种类型的输入

用户可能还希望不允许输入小数(对于某些类型的数量输入)

此外,该解决方案还需要在IE8和Safari(用于iPad)上运行。目前,我们所有页面都有一个单一视图,正好适合iPad的使用范围


有什么优雅而简单的解决方案可以处理这种类型的请求吗?

Asp.Net MVC允许您使用jQuery不引人注目的验证,这将为您解决跨浏览器支持的繁重问题

您可以使用一个远程属性来装饰视图模型属性,然后该属性将告诉浏览器验证脚本(同样,无需编写代码)为字段调用控制器/操作。然后,您创建该控制器/操作,并在那里进行验证(您可以简单地尝试解析数字),如果失败,则返回一条消息

我建议这样做的原因很简单,因为远程验证已经是一个已知的、有效的东西,并且您在服务器上编写的任何东西都不会影响任何客户端。您可以在验证中随心所欲,而无需测试JavaScript

这里有一个-只是不要惊慌,有很多文本,代码的编写方式使它看起来比实际更复杂

启动一个新项目,你应该在15分钟内完成

致以最良好的祝愿

编辑
如果您确实想使用客户端解决方案,请尝试一些预构建和社区支持的解决方案,例如。

我将检查这两种建议。事实上,“自动数字”看起来非常诱人。自动数字为王!谢谢你的推荐。