ASP.NET - 从数据库中检索图像URL并在转发器中显示它们

时间:2012-03-21 15:51:48

标签: c# asp.net repeater

基本上我有一个包含两个表的数据库,即Updates表和Images表。

images表通过外键“Update_ID”与Updates表相关联。

现在,在我的页面中,我有一个转发器,显示Updates表中的所有条目。我想要做的是显示与转发器控件中的每个Update_ID相关联的所有图像。

问题是每个Update_ID都可以拥有与之相关的图像数量。如果每个update_ID只有一个图像,那么就没有问题,因为我会分配一个Image控件,就是这样。但是,我不知道我将拥有多少个Image控件。

如何在各自的转发器中显示与每个update_ID关联的图像?谢谢:))

2 个答案:

答案 0 :(得分:1)

答案 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();
   }
}
相关问题