2011-02-23 27 views
0

我有一個viewmodel似乎是堅持在數據庫中設置的比例尺。我有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 

如果你知道爲什麼會發生這種情況,或者我可以在視圖中解決它?

回答

2

如果你想元數據,如要使用的[DisplayFormat]屬性,你需要在你的看法EditorFor/DisplayFor助手:

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

或:

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

代替:

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

感謝您的反饋 - 但我已經使用EditorFor(更新我的問題與我的看法) – nologo 2011-02-23 12:16:43

+0

@nologo,這對我有用。你確定沒有使用文本框的自定義編輯器模板嗎? – 2011-02-23 12:57:28

+0

仍然是一個問題..如果我將數據庫設置爲2decimal的地方。沒關係。使用可爲空的小數 – nologo 2011-03-03 14:16:39