gpt4 book ai didi

c# - OnItemDataBound 不会在嵌套的 Repeater 上触发?

转载 作者:太空宇宙 更新时间:2023-11-03 13:46:43 25 4
gpt4 key购买 nike

我在另一个 Repeater 的 ItemTemplate 中有一个嵌套的 Repeater。我向转发器添加了一个 OnItemDataBound 函数,但代码不执行

aspx

<asp:Repeater ID="rptComponents" runat="server" OnItemDataBound="rptComponents_ItemDataBound">
<HeaderTemplate>
</HeaderTemplate>
<ItemTemplate>
<div class="row-fluid">
<div class="span2">
<asp:Repeater ID="rptComponentsImages" runat="server" OnItemDataBound="rptComponentsImages_ItemDataBound">
<HeaderTemplate>
<ul class="bxslider">
</HeaderTemplate>
<ItemTemplate>
<li>
<img src="<%# Eval("CKCI_File")%>" /></li>
</ItemTemplate>
<FooterTemplate>
<li runat="server" id="liNoData" visible="false">
<img src="http://placehold.it/132&text=No image" alt=""></li>
</ul>
</FooterTemplate>
</asp:Repeater>
</div>
<div class="">
<%# Eval("CKC_Title") %>
</div>


</div>
</ItemTemplate>
<FooterTemplate>
</FooterTemplate>
</asp:Repeater>

代码

protected void rptComponents_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{

ClutchKitComponent rd = (ClutchKitComponent)e.Item.DataItem;

List<ClutchComponentImage> kitComponentImages = (List<ClutchComponentImage>)rd.images;

Repeater rt = (Repeater)e.Item.FindControl("rptComponentsImages");
rt.DataSource = kitComponentImages;
rt.DataBind();

}
}

protected void rptComponentsImages_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
Repeater rt = (Repeater)sender;
if (rt.Items.Count < 1)
{
if (e.Item.ItemType == ListItemType.Footer)
{
e.Item.FindControl("liNoData").Visible = true;
}
}
}

第二个函数不执行

最佳答案

我在其中一个列表中有一个空值,所以它抛出了一个我没有捕捉到的 ex。即使没有数据,OnItemDataBound 也会被触发。

关于c# - OnItemDataBound 不会在嵌套的 Repeater 上触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15112593/

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