我有以下List
:
private List<System.Web.UI.WebControls.Image> _searchResultList = new List<System.Web.UI.WebControls.Image>();
此列表可能包含多个具有不同网址的图片。
我有以下Repeater
:
<asp:Panel ID="SearchPanel" runat="server" ScrollBars="Vertical">
<asp:Repeater ID="Repeater" runat="server">
<ItemTemplate>
<asp:Image height="32" width="32" runat="server"/>
</ItemTemplate>
</asp:Repeater>
</asp:Panel>
使用DataSource
显示图片似乎无法正常工作。
Repeater.DataSource = _searchResultList;
Repeater.DataBind();
我做错了什么?
答案 0 :(得分:1)
<asp:Panel ID="SearchPanel" runat="server" crollBars="Vertical">
<asp:Repeater ID="Repeater" runat="server">
<ItemTemplate>
<asp:Image height="32" width="32" runat="server" ImageURL='<%Container.DataItem.ToString()%>'/>// changes here
</ ItemTemplate>
</asp:Repeater>
</asp:Panel>
答案 1 :(得分:1)
_searchResultList
不是字符串列表,因此您无法使用ImageURL='<%Container.DataItem.ToString()%>'
。因为_searchResultList
是图像列表,所以应绑定ImageUrl
属性。这应该适合你:
<asp:Repeater ID="Repeater" runat="server">
<ItemTemplate>
<asp:Image ID="Image1" height="32" width="32" runat="server" ImageUrl='<%# Eval("ImageUrl") %>' />
</ItemTemplate>
</asp:Repeater>
在此示例中,Container.DataItem
引用Image
控件。这就是我们使用Eval("ImageUrl")
获取每个ImageUrl
控件的Image
属性的原因。