protected void grdConsEvaluation_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                ObjconsFrmEvalInd = new ConsultantEvaluation();
                clsEntConsultantEvaluation ObjEntConsEvInd = new clsEntConsultantEvaluation();
                // Function used to  for downloading the files from database
                for (int i = 0; i < grdConsEvaluation.Rows.Count; i++)
                {
                    //obtain selected index from GridView for the selected File
                    if (grdConsEvaluation.SelectedIndex == i)
                    {
                        string firmEvalID = grdConsEvaluation.DataKeys[i].Value.ToString();
                        ObjEntConsEvInd = ObjconsFrmEvalInd.readerConsultantEvaluation(firmEvalID);

                        if (ObjEntConsEvInd != null)
                        {
                            Byte[] programFile = ObjEntConsEvInd.ProgramFile;

                            if (ObjEntConsEvInd.ConsEvalID.ToString() != null)
                            {
                                string contentType = ObjEntConsEvInd.Contenttype;
                                string fileName    = ObjEntConsEvInd.FileName;
                                Response.ContentType = contentType;
                                //The AddHeader method adds a new HTML header and value to the response sent to the client
                                Response.AddHeader("content-disposition", "attachment;filename=" + fileName);
                                //The Charset property appends the name of the character set (for example, ISO-8859-13) to the content-type header in the Response object
                                //Here Blank is attached
                                Response.Charset = "";
                                //Provides enumerated values that are used to set the Cache-Control HTTP header.
                                Response.Cache.SetCacheability(HttpCacheability.NoCache);
                            }

                            //Provides enumerated values that are used to set the Cache-Control HTTP header.
                            Response.BinaryWrite(programFile);
                            //The End method causes the Web server to stop
                            //  processing the script and return the current result.
                            Response.End();
                        }
                        else
                        {
                            lblMessage.Text = "File DoesNot Exists";
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex);
            }
        }