String.Format для валюты на TextBoxFor - PullRequest
19 голосов
/ 06 августа 2011

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

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

Ответы [ 3 ]

28 голосов
/ 06 августа 2011

string.format("{0:c}", Model.CurrentBalance) должно дать вам форматирование валюты.

OR

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

14 голосов
/ 27 апреля 2016
@Html.TextBoxFor(model => model.CurrentBalance, "{0:c}", new { @class = "required numeric", id = "CurrentBalance" })

Это позволяет вам установить формат и добавить любые дополнительные атрибуты HTML.

1 голос
/ 12 февраля 2015

Хотя решение Dan-o работало, я обнаружил с ним проблему, касающуюся использования TempData на основе форм (см. ImportModelStateFromTempData и ExportModelStateToTempData ).Решение, которое работало для меня, было Дэвида Спенса в связанной теме.

В частности:

[DisplayFormat(DataFormatString = "{0:C0}", ApplyFormatInEditMode = true)]
public decimal? Price { get; set; }

Теперь, если вы используете EditorFor по вашему мнению, должен применяться формат, указанный в аннотации, а ваше значение должно быть разделено запятыми:

<%= Html.EditorFor(model => model.Price) %>
...