ListView渲染图像问题。

时间:2011-07-29 20:03:02

标签: asp.net

  

可能重复:
  Rendering bytes from sql server to an image control?

<asp:ListView ID="lvGallery" runat="server" DataSourceID="SqlDataSource1">
   <LayoutTemplate>
   <table runat="server" id="tableGallery">
   <tr runat="server" id="itemPlaceHolder">

   </tr>

   </table>

   </LayoutTemplate>
   <ItemTemplate>       
   <tr><td>
   <div class="box_img2">
            <div class="g_size">
                <a runat="server" id="linkImage"><img id="Image1" runat="server" src="MyImage.jpg" /></a>
            </div>         
   </div>
   </td></tr>
   </ItemTemplate>
   </asp:ListView>

    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="Data Source=CHANDAN-PC;Initial Catalog=Metamorphism;User ID=sa;password=chandan;" 
        ProviderName="System.Data.SqlClient" 
        SelectCommand="SELECT [Image] FROM [GalleryImages]"></asp:SqlDataSource>


public void ProcessRequest(HttpContext context)
        {
            //write your handler implementation here.
            string username = Convert.ToString(context.Request.QueryString["username"]);
            if (username != null)
            {
                DataSet ds = new DataSet();
                SqlDataAdapter da = new SqlDataAdapter();
                byte[] arrContent;
                DataRow dr;
                string strSql;
                strSql = "Select Image from GalleryImages where username = '" + username + "'";
                da = new SqlDataAdapter(strSql, connection.ConnectionString);
                da.Fill(ds);
                dr = ds.Tables[0].Rows[0];
                arrContent = (byte[])dr["ImageFile"];
                context.Response.ContentType = "jpeg";
                context.Response.OutputStream.Write(arrContent, 0, arrContent.Length);
                context.Response.End();
            }
        }

我在web.config中添加了httphandlers标记。

1 个答案:

答案 0 :(得分:1)

我认为你需要改变这个

     <div class="box_img2">
                <div class="g_size">
                    <a runat="server" id="linkImage">
<img id="Image1" runat="server" src='<%# Eval( HttpContext.Current.Request.QueryString["username"] ,"YourGenericHandler.ashx?username={0}") %>' /></a>
                </div>         
       </div>