Click here to Skip to main content
15,889,863 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I am trying to get images from database and uses a handler for it.
code are as follows
on my aspx page
XML
<asp:GridView ID="GridView2" runat="server" AllowPaging="True"
                            AutoGenerateColumns="False" DataKeyNames="ID"
                            DataSourceID="SqlDataSourceGridView">
                            <Columns>
                                <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False"
                                    ReadOnly="True" SortExpression="ID" />
                                <asp:BoundField DataField="ImageTitle" HeaderText="ImageTitle"
                                    SortExpression="ImageTitle" />
                                    <asp:TemplateField HeaderText="Image">
                                <ItemTemplate>
                                <asp:Image ID="Image1" runat="server"
                                ImageUrl='<%# "HandlerCategory1.ashx?ID=" & Eval("ID")%>'/>
                                </ItemTemplate>
                                    </asp:TemplateField>

                            </Columns>
                        </asp:GridView>


and on my HandlerCategory
VB
Dim con As New SqlConnection()
      con.ConnectionString = ConfigurationManager.ConnectionStrings("MyConnectionString").ConnectionString

      ' Create SQL Command

      Dim cmd As New SqlCommand()
      cmd.CommandText = "Select ImageTitle,Image from Images where ID =@ID"
      cmd.CommandType = System.Data.CommandType.Text
      cmd.Connection = con

      Dim ImageID As New SqlParameter("@ID", System.Data.SqlDbType.Int)
      ImageID.Value = context.Request.QueryString("ID")
      cmd.Parameters.Add(ImageID)
      con.Open()
      Dim dReader As SqlDataReader = cmd.ExecuteReader()
      dReader.Read()
      context.Response.BinaryWrite(DirectCast(dReader("Image"), Byte()))
      dReader.Close()
      con.Close()
  End Sub


Now I am getting a null value on context.Request.QueryString that I am getting an error.
Is there something wrong on my code?
Posted

Hi,

Try this if could help...
Change your code from:
ASP.NET
<asp:TemplateField HeaderText="Image">
   <ItemTemplate>
      <asp:Image ID="Image1" runat="server" ImageUrl='<%# "HandlerCategory1.ashx?ID=" & Eval("ID")%>' />
   </ItemTemplate>
<asp:TemplateField>

to example:

ASP.NET
<asp:TemplateField HeaderText="Image">
   <ItemTemplate>
      <a href='PhotoDetail.aspx?id= <%# Eval("ID") %>'>
         <img src='<%# "HandlerCategory1.ashx?ID=" + Eval("ID") %>' alt='<%# Eval("Picture") %>' />
      </a>
   </ItemTemplate>
  <ItemStyle HorizontalAlign="Justify" VerticalAlign="Middle"></ItemStyle>
</asp:TemplateField>


Regards,
 
Share this answer
 
v4
In your HTML markup of the gridview, try replacing Image URL with below:

HTML
ImageUrl='<%# Eval("ID", "Handler.ashx?ID={0}")%>'


For more information, please look into below URL:
display-images-gridview-from-database[^]
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900