0

我使用模板字段在 gridview 的单列中显示四个数据字段。数据字段之一是日期字段。我不想显示正常日期,而是想显示相对小时/天。(例如:2 小时前/2 天前)。如何操作模板字段列中的日期字段。请建议。

谢谢。

4

2 回答 2

0

您可以使用 <%# Eval("Date Field") %> 来操作在运行时绑定到列的数据。您甚至可以通过执行以下操作在代码隐藏中调用函数:

<%# this.MyFunction(Eval("Date Field Name")) %>

可能有更好的方法来做到这一点,但这在过去对我有用。请注意,Eval 返回一个object.

于 2011-05-24T13:44:33.557 回答
0

如果其他视图/页面将使用该格式,您可能需要考虑将其放在业务服务层或某些实用程序功能中,这样它就不会被隐藏/复制到 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
}
于 2011-05-24T13:49:06.930 回答