String.Format用于TextBoxFor上的货币

Sam*_*jus 19 c# string.format asp.net-mvc-3

我想@String.Format("{0:0.00}",Model.CurrentBalance)进入这个@Html.TextBoxFor(model => model.CurrentBalance, new { @class = "required numeric", id = "CurrentBalance" })

我只是希望货币在我的文本框中显示为.00但是没有运气.关于我如何做这个的任何想法?

Sam*_*Axe 29

string.format("{0:c}", Model.CurrentBalance) 应该给你货币格式.

要么

@Html.TextBoxFor(model => model.CurrentBalance, new { @class = "required numeric", id = "CurrentBalance", Value=String.Format("{0:C}",Model.CurrentBalance) })

  • @ Html.TextBoxFor(model => model.CurrentBalance,new {@class ="required numeric",id ="CurrentBalance",Value = String.Format("{0:C}",Model.CurrentBalance)})..这就是我要找的东西.感谢您的帮助:) (5认同)
  • 值得注意的是,货币符号取决于您的区域设置.在欧洲的部分地区,您将获得100万美元的"$ 1.000.000,00",根据设置,您可以得到"($ 20.00)"或" - $ 20.00"的负数. (2认同)
  • 这是一个黑客行为。它之所以有效,只是因为“价值”优先于“价值”。这不应该是公认的答案。 (2认同)

Gai*_*oad 15

@Html.TextBoxFor(model => model.CurrentBalance, "{0:c}", new { @class = "required numeric", id = "CurrentBalance" })
Run Code Online (Sandbox Code Playgroud)

这使您可以设置格式并添加任何额外的HTML属性.

  • 这是正确的答案。目前接受的答案是 hack。它产生 2 个值属性,“Value”和“value”。 (2认同)