In order to show the picture in the asp.net GridView control, you have to preload the image in a separate aspx page and then use the GridView imageField Column to pass the image id to the aspx page.
Create a getimage.aspx page.
Create a function GetImage()
Protected void GetImage()
{
int imageID = Convert.ToInt32((Request.QueryString["imageID"] ?? "0"));
SqlConnection con = new SqlConnection();
con.ConnectionString = ConfigurationManager.ConnectionStrings["youraspdotnetconnectionstring"].ConnectionString;
SqlCommand cmd = new SqlCommand();
cmd.CommandText = yourImageTableQuery;
cmd.CommandType = System.Data.CommandType.Text;
cmd.Connection = con;
SqlParameter ImageID = new SqlParameter("@imageID", System.Data.SqlDbType.Int);
ImageID.Value = imageID;
cmd.Parameters.Add(ImageID);
con.Open();
SqlDataReader dReader = cmd.ExecuteReader();
dReader.Read();
Response.BinaryWrite((byte[])dReader[queryColumn]);
dReader.Close();
con.Close();
}
protected void Page_Load(object sender, EventArgs e)
{
GetImage ();
}
Now back to your GridView aspx page. Add an imageField column to your GridView and configure it to point to your getimage.aspx page.
Configure your bound field.
<asp:BoundField DataField=" imageID " HeaderText=" imageID " ReadOnly="True"
SortExpression=" imageID " Visible="False" />
Configure your ImageField.
<asp:imagefield headertext="Picture" dataimageurlfield=" imageID "
dataimageurlformatstring='~ getimage.aspx? imageID ={0}’>
</asp:imagefield>
Hope this helps J
5f36ed68-4507-44a3-b282-d6daf564dc71|0|.0