1

我有一个 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";
        }
    }

它不工作,我错过了一些东西 - 我不知道。请帮帮我,谢谢

4

1 回答 1

0

您可以尝试使用 - 基于Server.MapPath以定义相对路径

img.ImageUrl = Server.MapPath(val + ".jpg");
于 2012-10-09T13:30:46.103 回答