Подтвердить что ты не робот

String.Format для валюты в TextBoxFor

Я пытаюсь получить @String.Format("{0:0.00}",Model.CurrentBalance) в этот @Html.TextBoxFor(model => model.CurrentBalance, new { @class = "required numeric", id = "CurrentBalance" })

Я просто хочу, чтобы валюта отображалась как .00 внутри моего текстового поля, но мне не повезло. Любые идеи о том, как я это делаю?

4b9b3361

Ответ 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) %>