2013-12-23 35 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

相关问题