десятичная шкала, сохраняющаяся в viewmodel - PullRequest
0 голосов
/ 23 февраля 2011

У меня есть модель просмотра, которая, кажется, сохраняет масштаб, установленный в базе данных. У меня есть 3 обновляемых поля в SQL, которые хранятся в десятичном виде (18,4) для представления денег. Я хочу отформатировать значения в моей модели представления как 2 десятичных знака, чтобы она выглядела чище.

моя модель выглядит так:

   [DisplayFormat(DataFormatString = "{0:F2}",ApplyFormatInEditMode=true)]
    [DisplayName("Value 1")]
    public decimal Value1 { get; set; }

мой взгляд выглядит так:

<%:Html.EditorFor(m => m.Value1)%>

значениям присваивается значение по умолчанию, равное 0, поэтому при отображении значения в текстовом поле значение все равно сохраняет масштаб, установленный в базе данных ...

так что мой вывод выглядит так:

Value 1: 0.0000
Value 2: 0.0000
Value 3: 0.0000

если вы знаете, почему это происходит или как я могу решить это в представлении?

1 Ответ

2 голосов
/ 23 февраля 2011

Если вы хотите использовать метаданные, такие как атрибут [DisplayFormat], вам нужны помощники EditorFor / DisplayFor в ваших представлениях:

<%= Html.EditorFor(x => x.Value1) %>

или

<%= Html.DisplayFor(x => x.Value1) %>

вместо:

<%= Html.TextBoxFor(x => x.Value1) %>
...