我是MVC和Razor的新手,我有一些小的格式问题。
我有一个类对象,并定义了以下属性:
public class MarginData
{
[DisplayFormat(DataFormatString = "{0:###,###}")]
public decimal? MarginAmount;
[DisplayFormat(DataFormatString = "{0:###,###}")]
public decimal? Difference { get; set; }
}
然后,在我的cshtml视图中,我有这段代码:
<td style="text-align: right; vertical-align: middle">
@Html.DisplayFor(x => item.Difference)
</td>
<td style="text-align: right;vertical-align: middle">
@Html.DisplayFor(x => item.MarginAmount)
</td>
我希望这些列/值的格式化方式相同,但是,一个格式符合预期:1,233,563,另一个只是数字(没有格式化),如4563477398。
我错过了什么? (这是未格式化的MarginAmount项目)
答案 0 :(得分:2)
这些MVC属性旨在用于属性类型,而不是字段。添加{get; set;}
会将其从字段更改为属性,从而允许属性发挥其魔力。