2013-12-23 65 views
0

我有一個定義爲小數的數字字段。儘管我試圖將其顯示爲整數值。爲什麼DataFormatString不能在我的MVC應用程序中工作?

我的模型:

[Column(CanBeNull = true, DbType = "numeric", Name = "VHCL_ODOMTR")] 
    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:f0}", HtmlEncode = false, NullDisplayText = "")] 
    [Display(Name = "Odometer")] 
    public decimal? VehicleOdometer { get; set; } 

我的剃刀:

@Html.TextBoxFor(model => model.VehicleOdometer) 

我的輸出總是一個十進制文本框。我無法停止這樣做。我試過{0:D},{0:#},並且使用大寫字母F而不是小寫字母。即使嘗試「F9」顯示1小數,而不是9.似乎完全忽略DataFormatProperty。

回答

1

這是因爲DisplayFormatAttribute被設計爲與模板視圖助手(即Html.EditorForHtml.DisplayFor)一起使用。所以,爲了這個工作,你需要使用:

@Html.EditorFor(model => model.VehicleOdometer) 
+1

謝謝。正當我想我得到MVC的時候,我做了這樣的事情,並意識到我剩下多少東西來學習! – Paul

相關問題