问题描述
我有以下List
:
private List<System.Web.UI.WebControls.Image> _searchResultList = new List<System.Web.UI.WebControls.Image>();
此列表可能包含多个具有不同URL的图像.
This List may contain several Images with different URLs.
我有以下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
显示图像似乎不起作用.
Using DataSource
to display the images doesn't seem to work.
Repeater.DataSource = _searchResultList;
Repeater.DataBind();
我在做什么错了?
推荐答案
_searchResultList
不是字符串列表,因此您不能使用ImageURL='<%Container.DataItem.ToString()%>'
.因为_searchResultList
是图像列表,所以应绑定ImageUrl
属性.这对您来说应该很好:
The _searchResultList
is not a list of strings so you can't use ImageURL='<%Container.DataItem.ToString()%>'
. Because _searchResultList
is a list of images you should bind the ImageUrl
property. This should works fine for you:
<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")
来获取每个Image
控件的ImageUrl
属性的原因.
In this example Container.DataItem
refers to an Image
control. This is why we used Eval("ImageUrl")
to get the ImageUrl
property of each Image
control.
这篇关于在中继器控件中显示图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!