我有一个aspx页面,它使用DS的转发器显示数据。 db中的一个fillds是图像的路径。 我想要显示图像本身。我正在尝试使用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";
}
}
它不起作用,我错过了一些东西 - 我不知道。 请帮我, 感谢名单
答案 0 :(得分:0)
您可以尝试使用 - 基于Server.MapPath
来定义相对路径
img.ImageUrl = Server.MapPath(val + ".jpg");