I am using the grid view control to load the image from the database.
I am using an Item Template inside a grid view control. However a wrong url is formed ie. /Image/System.byte[] when binding it to the image control. The datatype of the image
is image in the database.
System.byte[] is the data I am getting when getting the image of the product. I do not want to use any handler for the same.
How do I bind the image to the image control . This is my code.
What I have tried:
The following is the .aspx code
<asp:TableRow ID="imagerow" runat="server">
<asp:TableCell>
<asp:Image ID="productimage" runat="server"
ImageUrl='<%# Eval("ProductImage","~/Image/{0}") %>'Height="30px" Width="40px" />
</asp:TableCell>
</asp:TableRow>
The following is the .cs code
try
{
using (SqlConnection connect = new SqlConnection(cs))
{
using (SqlCommand scmd = new SqlCommand("SELECT * FROM Products", connect))
{
using (SqlDataAdapter da = new SqlDataAdapter(scmd))
{
using (DataSet ds = new DataSet())
{
connect.Open();
da.Fill(ds);
gridviewproducts.DataSource = ds;
gridviewproducts.DataBind();
connect.Close();
}
}
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}