基本上我有一个包含两个表的数据库,即Updates表和Images表。
images表通过外键“Update_ID”与Updates表相关联。
现在,在我的页面中,我有一个转发器,显示Updates表中的所有条目。我想要做的是显示与转发器控件中的每个Update_ID相关联的所有图像。
问题是每个Update_ID都可以拥有与之相关的图像数量。如果每个update_ID只有一个图像,那么就没有问题,因为我会分配一个Image控件,就是这样。但是,我不知道我将拥有多少个Image控件。
如何在各自的转发器中显示与每个update_ID关联的图像?谢谢:))
答案 0 :(得分:1)
使用嵌套转发器,例如:http://www.codeproject.com/Articles/6140/A-quick-guide-to-using-nested-repeaters-in-ASP-NET
答案 1 :(得分:1)
在主转发器的每个Repeater
内使用ItemTemplate
,并将新转发器绑定到每个更新记录的图像集合
<asp:Repeater runat="server" ID="rptrUpdates">
<ItemTemplate>
<asp:Repeater runat="server" ID="rptrImages">
<ItemTemplate>
<img src="<%#Eval("imgUrl")"/>
</ItemTempate>
</asp:Repeater>
</ItemTempate>
</asp:Repaeter>
并且在主要转发器的ItemDataBound
事件内部的代码中绑定了一个孩子
protected void rptrUpdates_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if(e.Item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem)
{
Repeater rptrImages = (Repeater)e.Item.FindControl("rptrImages");
rptrImages.DataSource = ((Updates)e.Item.DataItem).Images;
rptrImages.DataBind();
}
}