如何在转发器中减去2个日期时间? 我想减去2个requestDates并写入waitingTime。
<td>
<%#Eval("requestDates")%>
</td>
<td>
<%#Eval("waitingTime")%>
</td>
I wanna get like 1 week 4 days 18 hours 47 minutes:>
ID Request_Dates Waiting_Time
1 18.01.2012 09:54:38 6 days 20 hours 37 mins 13 sec
2 11.01.2012 13:17:25 19 hours 18 mins 47 sec
... .... ....
因为你看到等待时间=(id 1 request_dates) - (id 2 request_dates) 谢谢。
答案 0 :(得分:1)
一个解决方案
您可以通过以下方式创建方法并在html代码中调用它:
<td>
<%# substraction(Eval("requestDates"),Eval("waitingTime"))%>
</td>
在cs中:
public function substraction(....){}
只考虑你必须在html和cs中转换变量。
另一种解决方案 我会用文字替换Eval,添加一个ItemDataBound事件,在方法中我会找到控件并分配值,在这里我可以从“e.Item”对象中获取值并轻松地减去它。 例如:
<asp:Repeater ID="rp" runat="server" OnItemDataBound="Item_Bound">
.....
</asp:Repeater>
void Item_Bound(Object sender, DataListItemEventArgs e)
{
MyObject theobject=(MyObject) e.Item.DataItem;
if (e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
{
// Retrieve the Label control in the current DataListItem.
Label ltRequest = (Label)e.Item.FindControl("ltRequest");
ltRequest.text=theobject.requestDates;
....
/**HERE I CAN DO WHATEVER***/
}
}