我正在使用 Entity Framework v6.1.3(代码优先)和 ASP.NET MVC v5.2.3
我知道我可以像这样在十进制数据类型中使用DisplayFormatAttribute
[DisplayFormat(ApplyFormatInEditMode = false, DataFormatString = "{0:N2}")]
public decimal Foo { get; set; }
现在我需要的是将此属性自动应用于每个实体中的每个小数。
这可能吗?
我有一个类似的要求,即每个小数点的精度必须为 20,8,我使用这段代码解决了这个问题
public class EntitiesContext : DbContext
{
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
// Set all decimals data types by default as Decimal(20, 8)
modelBuilder.Properties<decimal>().Configure(c => c.HasPrecision(20, 8));
}
}
所以我想知道是否可以自动分配DisplayFormatAttribute。
最佳答案
您可以创建小数类型的显示模板并将其放入Views/Shared/DisplayTemplates 文件夹:
@model System.Decimal
<span>
@Model.ToString("n2")
</span>
在 View 中只需使用 DisplayFor
或 DisplayForModel
方法:
@Model.DisplayFor(m => m.Foo)
关于c# - 如何自动附加到十进制数据类型 DisplayFormatAttribute,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42929241/