如何在中继器的标签中显示时间
本文关键字:显示 时间 标签 中继器 | 更新日期: 2023-09-27 18:30:15
>我有一张文章表,这个表包括一个名为"dateofSubmitArticle"的字段当我显示我想在中继器的标签中显示的文章时,这篇文章在数据库中提交了多少时间转发器的数据源为
var n = (from a in DataContext.Context.Articles
join u in DataContext.Context.Users
on a.UserID equals u.UserID
orderby a.ArticleID descending
where a.IsConfirmByAdmin == true
select new {
ArticleID=a.ArticleID,
ArticleTitle=a.ArticleTitle,
ArticleSummery=a.ArticleSummery,
SubmitDate=a.SubmitDate,
Username=u.Username,
ArticleImageName=a.ArticleImageName
}).Take(15);
rptArticleTitle.DataSource = n;
rptArticleTitle.DataBind();
您可以使用 Timespan 类。若要实现目标,请在转发器中放置 asp 标签和隐藏字段,将 SubmitDate 绑定到该隐藏字段。
.HTML:
<asp:Label runat="server" id="Submitted" />
<asp:Hidden runat="server" id="val" Value='<%#Eval("SubmitDate")%>'/>
现在在中继器中,ItemDataBound找到标签并隐藏并使用下面的代码。
void ItemDataBound()
{
if(e.Item.ItemType == DataItemType || e.Item.ItemType ==AlternatingItemType)
{
var lbl = e.Item.FindControl(lable_id) as Label;
var hid = e.Item.FindControl(hidden_id) as Hidden;
if(lbl !=null and hid !=null)
{
var val = DateTime.Parse(hid.Value);
// Get the TimeSpan of the difference.
TimeSpan elapsed = now.Subtract(val);
lbl.Text = string.Format("{0} days ago", elapsed.Days);
}
}
}