我使用模板字段在 gridview 的单列中显示四个数据字段。数据字段之一是日期字段。我不想显示正常日期,而是想显示相对小时/天。(例如:2 小时前/2 天前)。如何操作模板字段列中的日期字段。请建议。
谢谢。
我使用模板字段在 gridview 的单列中显示四个数据字段。数据字段之一是日期字段。我不想显示正常日期,而是想显示相对小时/天。(例如:2 小时前/2 天前)。如何操作模板字段列中的日期字段。请建议。
谢谢。
您可以使用 <%# Eval("Date Field") %> 来操作在运行时绑定到列的数据。您甚至可以通过执行以下操作在代码隐藏中调用函数:
<%# this.MyFunction(Eval("Date Field Name")) %>
可能有更好的方法来做到这一点,但这在过去对我有用。请注意,Eval 返回一个object
.
如果其他视图/页面将使用该格式,您可能需要考虑将其放在业务服务层或某些实用程序功能中,这样它就不会被隐藏/复制到 UI 中。
// Business Service
public IList<Person> GetAllActivePeople()
{
var people = _yourDataRepository.FindActive();
foreach(var p in people)
{
p.MyRelativeDateField = ConvertToRelativeHoursDays(p.MyDateField);
}
return people;
}
// probably better as a utility class if other dates of other objects can use this...
private string ConvertToRelativeHoursDays(DateTime someDate)
{
// implement formatting here
}