gpt4 book ai didi

asp.net - 在 Repeater FooterTemplate 中显示数据

转载 作者:行者123 更新时间:2023-12-03 03:44:01 24 4
gpt4 key购买 nike

更新:

行为空

if (e.Item.ItemType == ListItemType.Footer)
{
Label lblDateCreated = e.Item.FindControl("lblDateCreated ") as Label;
DataRowView row = (DataRowView)e.Item.DataItem; //row is null here <<<<
lblDateCreated .Text = row["DateChecked"].ToString();

}

结束更新:

如何在转发器页脚中显示数据?...

这很愚蠢,我花了很多时间弄清楚,但如果我将相同的内容移动到 itemtemplate 那么它会显示但不在页脚中...下面是我的代码..

<asp:Repeater ID="rpt" runat="server">
<HeaderTemplate>
header...
</HeaderTemplate>
<ItemTemplate>
<div class="rpt">
<div class="inner">
<div>
<div class="ert">
<%#DataBinder.Eval(Container.DataItem, "Comment")%>
</div>
</div>
</div>
</div>
<br />
</ItemTemplate>
<FooterTemplate>
footer.....
<div id="datetime">
<asp:Label ID="lblDateTime" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "DateChecked")%>'></asp:Label>
</div>
<div id="save">
<p>
<asp:HyperLink ID="Hyperlink2" runat="server" NavigateUrl="~/link.aspx"
Text="More"></asp:HyperLink></p>
</div>
</FooterTemplate>
</asp:Repeater>

隐藏代码:

rpt.DataSource = mydatasource;
rpt.DataBind();

最佳答案

FooterTemplate 不会随每一行一起呈现,因此您无法像这样将 DateItem 的 Comment 绑定(bind)到页脚。

看来您只想在页脚中显示一个“检查日期”。

您正在 DataItem 中查找 DateChecked,每行可能有所不同。

如果所有行都包含相同的 DateChecked,您可以创建一个服务器端属性来存储它,如果所有行都相同,则可以使用任何行 Datechecked 如果不是,您可以存储要在页脚中显示的任何日期(它应该是任何一个)日期)在页脚中使用以下 block 来显示 DateChecked <% = 属性名称 %>或者由于您已经将 Label 放置在页脚中,因此您可以使用此属性直接从服务器端绑定(bind) lblDateTime。

rpt.DataSource = mydatasource;
rpt.DataBind();

var lblDateTime = rpt.FindControl("lblDateTime") as Label;
if (lblDateTime != null)
{
lblDateTime.Text = mydatasource.First().DateChecked;
}

在页脚控件中绑定(bind)转发器

 void R1_ItemDataBound(Object Sender, RepeaterItemEventArgs e) {

// This event is raised for the header, the footer, separators, and items.

// Execute the following logic for Footer only.
if (e.Item.ItemType == ListItemType.Footer) {

footerRepeater.DataSource = mydatasource;
footerRepeater.DataBind();
}
}

ASPX

<asp:Repeater ID="rpt" runat="server">
<HeaderTemplate>
header...
</HeaderTemplate>
<ItemTemplate>
<div class="rpt">
<div class="inner">
<div>
<div class="ert">
<%#DataBinder.Eval(Container.DataItem, "Comment")%>
</div>
</div>
</div>
</div>
<br />
</ItemTemplate>
<FooterTemplate>
footer.....
<asp:Repeater ID="rpt" runat="server">
<ItemTemplate>
<div>
<asp:Label ID="lblDateTime" runat="server" DataBinder.Eval(Container.DataItem, "DateChecked")%>'></asp:Label>
</div>
</ItemTemplate>
</asp:Repeater>
</FooterTemplate>
</asp:Repeater>

CS

在页脚控件中绑定(bind)转发器

 void R1_ItemDataBound(Object Sender, RepeaterItemEventArgs e) {

// This event is raised for the header, the footer, separators, and items.

// Execute the following logic for Footer only.
if (e.Item.ItemType == ListItemType.Footer) {

footerRepeater.DataSource = mydatasource;
footerRepeater.DataBind();
}
}

关于asp.net - 在 Repeater FooterTemplate 中显示数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10125249/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com