我使用模板字段在gridview的單個列中顯示四個數據字段。其中一個數據字段是日期字段。我不想顯示正常的日期,而想顯示相對的小時/天。 (比如:2小時前/ 2天前)。我如何操作模板字段列中的日期字段。請建議。Gridview - 在TemplateField中操作數據項
謝謝。
我使用模板字段在gridview的單個列中顯示四個數據字段。其中一個數據字段是日期字段。我不想顯示正常的日期,而想顯示相對的小時/天。 (比如:2小時前/ 2天前)。我如何操作模板字段列中的日期字段。請建議。Gridview - 在TemplateField中操作數據項
謝謝。
您可以使用<%#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
}
我只需要做一個這樣的事情。所以不要執行上面的事情。感謝您的建議,但。 – Phoenix 2011-05-24 19:46:23
感謝您的建議。它的工作:) – Phoenix 2011-05-24 19:48:24