首页 > 解决方案 > 我可以强制 Razor TextBoxFor 助手使用特定的小数分隔符而不是默认分隔符吗?

问题描述

我有以下标记:

@Html.TextBoxFor(m => m.Items[i].Rate, new { @class = "form-control text-center Rate", @readonly = Model.PreTenderLockedDown, title = "Rate" })

Rate数据库中的属性为例如 12.45 时,上面TextBoxFor会使用逗号分隔符呈现数字,而不是我想要的句点。除了在 IIS 上设置语言设置之外,我还能做任何事情吗?

标签: asp.net-mvcrazorformattinghtml.textboxfor

解决方案


如果您对过度工程不感兴趣,则可以选择使用正则表达式。像下面这样的示例代码可以工作。我没有测试代码,它只是为了说明。

@Html.TextBoxFor(m => Regex.Replace(m.Items[i].Rate.ToString(), @",(?<=\d,)(?=\d)", "."), new { @class = "form-control text-center Rate", @readonly = Model.PreTenderLockedDown, title = "Rate" })

https://stackoverflow.com/a/51221701/575924 如果可能,请从此处使用正则表达式。


推荐阅读