Html.DisplayFor十进制格式?

时间:2012-08-22 06:25:00

标签: asp.net-mvc string-formatting

我有一个十进制值,例如:59625879,00

我希望将此值显示为:59.625,87959625,879

如何使用@Html.DisplayFor(x => x.TAll, String.Format())执行此操作?

感谢。

1 个答案:

答案 0 :(得分:64)

使用[DisplayFormat]属性装饰您的视图模型属性,并指定所需的格式:

[DisplayFormat(DataFormatString = "{0:N}", ApplyFormatInEditMode = true)]
public decimal TAll { get; set; }

然后在你看来:

@Html.DisplayFor(x => x.TAll)

如果您不想在视图模型上执行此操作,另一种可能性,您也可以在视图中执行此操作:

@Model.tAll.ToString("N")

但我建议你采用第一种方法。


另一种可能性是为小数类型(~/Views/Shared/DisplayTemplates/MyDecimalTemplate.cshtml)编写自定义显示模板:

@string.Format("{0:N}", Model)

然后:

@Html.DisplayFor(x => x.TAll, "MyDecimalTemplate")