我有一个viewmodel,它似乎是持久化数据库中设置的比例。我在SQL中有3个可更新字段存储为十进制(18,4)来表示钱。 我希望将viewmodel中的值格式化为2位小数,以使其看起来更清晰。
我的viewmodel看起来像这样:
[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
如果您知道为什么会这样或者我如何在视图中解决它?
答案 0 :(得分:2)
如果您希望使用[DisplayFormat]
属性等元数据,则需要在视图中使用EditorFor / DisplayFor帮助程序:
<%= Html.EditorFor(x => x.Value1) %>
或:
<%= Html.DisplayFor(x => x.Value1) %>
而不是:
<%= Html.TextBoxFor(x => x.Value1) %>