视图模型:
public class LiquiditySummariesViewModel
{
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-MM-dd}")]
public DateTime ValueDate { get; set; }
public List<LiquidityA1B5SummariesModel> ControlGroupsSummaries { get; set; }
}
public class LiquidityA1B5SummariesModel
{
[DisplayFormat(DataFormatString = "{0:n2}")]
public decimal Balance { get; set; }
...
}
我试图在视图中访问余额:
@foreach (var item in Model.ControlGroupsSummaries)
{
<tr>
<td>
@Html.DisplayFor(p=>p.ControlGroupsSummaries.Select(z=>z.Balance))
</td>
</tr>
}
但它不起作用:
@Html.DisplayFor(p=>p.ControlGroupsSummaries.Select(z=>z.Balance))
引发
模板只能用于字段访问,属性访问, 单维数组索引或单参数自定义索引器 表达式。
我不知道如何修复它。我想坚持使用数据注释,因此任何string.Format解决方案都不是一个选项。
答案 0 :(得分:3)
您必须迭代列表并在每个项目上调用显示:
@foreach (var summary in Model.ControlGroupsSummaries)
{
@Html.DisplayFor(x => summary.Balance)
}