我试图将图像列表(System.Web.UI.WebControls.Image
)绑定到转发器,但图像显示为损坏。当我在 ItemDataBound 事件中放置一个断点时,似乎没问题,DataItem 是正确的并且具有正确的 ImageUrl。然而,结果是错误的。
这段代码非常简单,但最终会变得更加复杂。使用 ImageUrls绑定 aList<String>
最终不会帮助我,因为所有图像也将具有更多独特的属性。
中继器:
<asp:Repeater ID="repButtons" runat="server" OnItemDataBound="repButtons_OnItemDataBound">
<ItemTemplate>
<asp:Image ID="imgButton" runat="server" />
</ItemTemplate>
</asp:Repeater>
用图像制作列表:
List<System.Web.UI.WebControls.Image> myButtons = new List<System.Web.UI.WebControls.Image>();
Image myEditButton = new Image();
myEditButton.ImageUrl = "~/images/themes/pencil.png";
myButtons.Add(myEditButton);
repButtons.DataSource = myButtons;
repButtons.DataBind();
数据绑定:
protected void repButtons_OnItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Image myImage = (Image)e.Item.DataItem;
Image imgButton = (Image)e.Item.FindControl("imgButton");
imgButton = myImage;
}
}