在 Repeater 控件中显示图像
Show images in Repeater control
我有以下 List
:
private List<System.Web.UI.WebControls.Image> _searchResultList = new List<System.Web.UI.WebControls.Image>();
此列表可能包含多个具有不同 URL 的图像。
我有以下 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();
我做错了什么?
<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>
_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")
来获取每个 Image
控件的 ImageUrl
属性。
我有以下 List
:
private List<System.Web.UI.WebControls.Image> _searchResultList = new List<System.Web.UI.WebControls.Image>();
此列表可能包含多个具有不同 URL 的图像。
我有以下 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();
我做错了什么?
<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>
_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")
来获取每个 Image
控件的 ImageUrl
属性。