为什么DataFormatString不能在我的MVC应用程序中运行?

时间:2013-12-23 16:27:52

标签: razor linq-to-sql data-annotations

我有一个数字字段,定义为小数。我试图将它显示为整数值。

我的模特:

[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 个答案:

答案 0 :(得分:1)

这是因为DisplayFormatAttribute旨在与模板化视图助手(即Html.EditorForHtml.DisplayFor)一起使用。因此,为了实现这一点,您需要使用:

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