我使用模板字段在gridview的单个列中显示四个数据字段。其中一个数据字段是日期字段。我希望显示相对小时/天,而不是显示正常日期。 (如:2小时前/ 2天前)。如何操作模板字段列中的日期字段。请建议。
感谢。
答案 0 :(得分:0)
您可以使用<%#Eval(“Date Field”)%>操作运行时绑定到列的数据。您甚至可以通过执行以下操作来调用代码隐藏中的函数:
<%# this.MyFunction(Eval("Date Field Name")) %>
可能有更好的方法,但这在过去对我有用。请注意,Eval会返回object
。
答案 1 :(得分: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
}