我有一个 aspx 页面,它使用 DS 的中继器显示数据。数据库中的一个填充是图像的路径。我希望显示图像本身。我也在尝试使用 c# 中的代码。
aspx的代码:
<asp:Repeater ID="ExampleRepeater" runat="server"
DataSourceID="SqlDataSource1" onitemdatabound="ExampleRepeater_ItemDataBound" >
<HeaderTemplate>
<table>
<tr>
<th> choose
</th>
<th> product is
</th>
<th> products
</th>
<th> price
</th>
<th> des
</th>
<th> path
</th>
<th> pic
</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:CheckBox ID="checkbox1" runat="server"
CausesValidation="false"></asp:CheckBox>
</td>
<td>
<asp:Label ID="lblID" runat="server" Text='<%# Eval("ProductID") %>'></asp:Label>
</td>
<td>
<asp:Label ID="lblName" runat="server" Text='<%# Eval("ProductName") %>'></asp:Label>
</td>
<td>
<asp:Label ID="lblPrice" runat="server" Text='<%# Eval("Price") %>'></asp:Label>
</td>
<td>
<asp:Label ID="lblSum" runat="server" Text='<%# Eval("Summary") %>'></asp:Label>
</td>
<td>
<asp:Label ID="lblPic" runat="server" Text='<%# Eval("picPath") %>'></asp:Label>
</td>
<td>
<asp:HiddenField Value='<%# Eval("picPath") %>' ID="HiddenField1" runat="server" />
<asp:Image ID="Image1" runat="server" />
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
C#代码:
protected void ExampleRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
HiddenField hf = e.Item.FindControl("HiddenField1") as HiddenField;
if (hf != null)
{
string val = hf.Value;
Image img = e.Item.FindControl("Image1") as Image;
img.ImageUrl = val + ".jpg";
}
}
它不工作,我错过了一些东西 - 我不知道。请帮帮我,谢谢