如果我在某个字段中有一个小数值,并且我试图在页面上显示,我该如何格式化它(我会在网络表单中使用string.format):
@Html.DisplayFor(Function(modelItem) String.Format("{0:n0}",currentItem.QualityM1))
VS2010中有错误的错误:模板只能用于字段访问,属性访问,单维数组索引或单参数自定义索引器表达式。
答案 0 :(得分:21)
我不会在视图中执行此操作。最好集中这个并将此信息作为元数据提供如下:
public class Foo {
[DisplayFormat(DataFormatString = "{0:n0}")]
public decimal Bar { get; set; }
}
然后像往常一样使用它:
@Html.DisplayFor(m => m.Bar)
答案 1 :(得分:12)
您需要使用Html.DisplayFor吗?
否则你可以这样做:
@String.Format("{0:n0}",currentItem.QualityM1)
答案 2 :(得分:4)
不要在DisplayFor
...中在类中设置属性,如此。
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:N2}")]
public virtual decimal Valor
{
get;
set;
}