gpt4 book ai didi

c# - 在模型的嵌套属性上使用 DisplayFor

转载 作者:行者123 更新时间:2023-11-30 22:04:38 28 4
gpt4 key购买 nike

View 模型:

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; }
...
}

我正在尝试访问 View 上的Balance:

 @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))

抛出

Templates can be used only with field access, property access, single-dimension array index, or single-parameter custom indexer expressions.

我不知道怎么解决。我想坚持数据注释,所以任何 string.Format 解决方案都不是一个选项。

最佳答案

您必须迭代列表并为每个项目调用显示:

@foreach (var summary in Model.ControlGroupsSummaries)
{
@Html.DisplayFor(x => summary.Balance)
}

关于c# - 在模型的嵌套属性上使用 DisplayFor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25061233/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com