我有一个摘要页面,它计算数据库中存储项目的几个平均和总时间。所有计算都有效,但由于计算平均值的方式,这些值存储为表示分钟数的双精度值。此处的目标是在 Razor 页面上显示平均值和总计时将其转换为 HH:MM:SS 格式。
我从这里开始。
为我必须显示的每个平均值和总数创建一个辅助类似乎是一种不好的做法,因此我使用一种方法使解决方案更加通用。
public string TSConvert(double minutes)
{
return TimeSpan.FromMinutes(minutes).ToString(@"hh\:mm\:ss");
}
所以这行得通
<td>
@item.TSConvert(item.SalesAverageTime)
</td>
这不
<td>
@Html.DisplayFor(modelItem => item.TSConvert(item.SalesTotalTime))
</td>
具体来说,我看到以下错误:
InvalidOperationException:模板只能与字段访问、属性访问、单维数组索引或单参数自定义索引器表达式一起使用。
有没有办法让这种方法与 DisplayFor 很好地配合使用?如果不是,那么像我上面所做的那样绕过 DisplayFor 会产生很大的影响吗?