Hi,
I am using a generic handler to retrieve image from database.
i want multiple images to be displayed in a page. so i go for repeater control i dont know how to display all this image. so please help me.
Sample code:(This is my generic handler code)
public class showall : IHttpHandler
{
EHRS_DAL _objDAL = new EHRS_DAL();
public void ProcessRequest (HttpContext context)
{
if (context.Request.QueryString["ID"] != null)
{
try
{
string ID = context.Request.QueryString["ID"].ToString();
MySqlConnection connection = new MySqlConnection(ConfigurationManager.ConnectionStrings["constring"].ConnectionString);
connection.Open();
DataSet ds = new DataSet();
MySqlDataAdapter adap = new MySqlDataAdapter("select image,register_no from imagetable where file_type='image' and register_no ='" + ID + "'", connection);
adap.Fill(ds);
int count = ds.Tables[0].Rows.Count;
for (int i = 0; i < count; i++)
{
context.Response.BinaryWrite((Byte[])ds.Tables[0].Rows[i]["image"]);
}
connection.Close();
context.Response.End();
}
catch
{
}
}
}
public bool IsReusable
{
get
{
return false;
}
}
}
I want to get image in repeater control.
code behind:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
id = Session["regno"].ToString();
DataSet dset = new DataSet();
connection.Open();
MySqlDataAdapter adap = new MySqlDataAdapter("select register_no,image from imagetable where file_type='image' and register_no ='" + id + "'", connection);
adap.Fill(dset);
int totalcount = dset.Tables[0].Rows.Count;
Repeater1.DataSource = dset.Tables[0];
Repeater1.DataBind();
connection.Close();
}
<asp:Repeater ID="Repeater1" runat="server" onitemdatabound="Repeater1_ItemDataBound">
<ItemTemplate>
<asp:ImageButton ID="ImageButton1" ImageUrl='<%#"showall.ashx?ID="+ Eval("register_no") %>' runat="server" />
</ItemTemplate>
</asp:Repeater>