String.Format для валюты в TextBoxFor
Я пытаюсь получить @String.Format("{0:0.00}",Model.CurrentBalance)
в этот @Html.TextBoxFor(model => model.CurrentBalance, new { @class = "required numeric", id = "CurrentBalance" })
Я просто хочу, чтобы валюта отображалась как .00 внутри моего текстового поля, но мне не повезло. Любые идеи о том, как я это делаю?
Ответы
Ответ 1
string.format("{0:c}", Model.CurrentBalance)
должен дать вам форматирование валюты.
ИЛИ
@Html.TextBoxFor(model => model.CurrentBalance, new { @class = "required numeric", id = "CurrentBalance", Value=String.Format("{0:C}",Model.CurrentBalance) })
Ответ 2
@Html.TextBoxFor(model => model.CurrentBalance, "{0:c}", new { @class = "required numeric", id = "CurrentBalance" })
Это позволяет вам установить формат и добавить дополнительные атрибуты HTML.
Ответ 3
В то время как решение Dan-o работало, я нашел проблему с ним в отношении использования TempData на основе форм (см. ImportModelStateFromTempData и ExportModelStateToTempData). Решение, которое сработало для меня, было David Spence в соответствующем потоке.
В частности:
[DisplayFormat(DataFormatString = "{0:C0}", ApplyFormatInEditMode = true)]
public decimal? Price { get; set; }
Теперь, если вы используете EditorFor в своем представлении, должен быть применен формат, указанный в аннотации, и ваше значение должно быть разделено запятой:
<%= Html.EditorFor(model => model.Price) %>