• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1059
  • Last Modified:

How to make gif image invisible ??


     i have a grid which contains link for showing report in form of pdf.

     This we are doing through Sql server 2005 reporting services.

     Now when the link is clicked, a gif image is displayed showing the progress.

    The report is shown on a new page.

    What i want is when the new page is displayed the gif image should get hidden.

    I want when the report is finished loading then image should get inivisible.

Now how can i access gif from parent page from child page ???

On page load of child page i tried injecting javascript alert();

But the page is appearing in pdf format since i am using Sql server 2005 reporting services and

directly injecting data by saying Response.BinaryWrite();

So how can i fire javascript in such page ??????
  • 3
  • 3
3 Solutions
Ivo StoykovCommented:
Hi Paramhans
you need a simple JavaScript attached to the onload event of the element showing report.
Because you didn't attache any source I've made a simple HTML sample snippet hoping you've catch the idea.

   function hideGif()
     document.getElementById("test").style.display = "none";
<!-- your gif imege -->
<IMG SRC="1.jpg" WIDTH="320" HEIGHT="450" BORDER="0" ALT="" id="test">
<!-- your gif imege -->
<div id="report">report is loading in this div</div>

Open in new window

ParamhansAuthor Commented:
Hi Thanx 4 the reply.
I tried injecting javascript at runtime but it did not work.

Also i would like to explain the problem once again.

I have a link on Page1 on the click of which the Gif is displayed on same page and a new page called as Page2 which is responsible for showing report is displayed.

When page2 is completely loaded i want to hide Gif image on Page1 ?????
Since Page2 shows report using Sql server 2005 reporting services.

Injecting javascript is not working on Page2.

ParamhansAuthor Commented:

I have code in ItemCommand of Grid linkbutton on page1 as following:
On Page2 (PDFReport.aspx) page_load event i have code to generate pdf report using reporting services as following:
				Response.Buffer= true;
				string fileName= System.Configuration.ConfigurationSettings.AppSettings["ReportName"];
				Response.ContentType = "application/pdf";
				Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName + "");
				SurveyReport1.ReportingService objRService =  new SurveyReport1.ReportingService();
				objRService.Url = System.Configuration.ConfigurationSettings.AppSettings["ReportingServiceURL"];
				objRService.PreAuthenticate = false;
				objRService.Credentials = System.Net.CredentialCache.DefaultCredentials;
				objRService.Timeout = 1000 * Convert.ToInt32(ConfigurationSettings.AppSettings["WebServiceTimeout"]); 
				string PDFData = objRService.GeneratePdfReport(Convert.ToString(Request.QueryString["SurveyID"]));
				byte [] bytData = Convert.FromBase64String(PDFData);
This is the code for GeneratePdfReport() written in a class file:
		public string GeneratePdfReport(string surveyId)
				SQLReportingService.ReportingService rs = new SQLReportingService.ReportingService();
				rs.Url = ConfigurationSettings.AppSettings["ReportingServiceURL"];
				rs.Credentials = CredentialCache.DefaultCredentials;
				byte[] result = null;
				string reportPath = ConfigurationSettings.AppSettings["ReportPath"];
				string format = "PDF";
				string historyID = null;
				string devInfo = @"<DeviceInfo><Toolbar>False</Toolbar></DeviceInfo>";
				// Prepare report parameter.
				ParameterValue[] parameters = new ParameterValue[1];
				parameters[0] = new ParameterValue();
				parameters[0].Name = "surveyId";
				parameters[0].Value = surveyId;
				string showHideToggle = null;
				string encoding;
				string mimeType;
				Warning[] warnings = null;
				ParameterValue[] reportHistoryParameters = null;
				string[] streamIDs = null;
				SessionHeader sh = new SessionHeader();
				rs.SessionHeaderValue = sh;
					result = rs.Render(reportPath, format, historyID, devInfo, parameters, null,
						showHideToggle, out encoding, out mimeType, out reportHistoryParameters, out warnings,
						out streamIDs);
					sh.SessionId = rs.SessionHeaderValue.SessionId;
					return Convert.ToBase64String(result);
				catch (Exception)
					return null;
			catch (Exception)
				return null;

Open in new window

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Ivo StoykovCommented:
Hi Paramhans
How correspond Page1 & Page 2? You must have onClick event in Page1, right?
ParamhansAuthor Commented:
On page 1 we have a link
When i click on that link lnkShow_click gets fired.
Ivo StoykovCommented:
Well here is a possible solution

// default page (1 - report is called from)
    <form id="form1" runat="server">
      <img id="myGif" src="#" /> <!-- your gif - must have an ID which is used in page2 -->
// page2 - report
    protected void Page_Load( object sender, EventArgs e )
      String scriptString = "<script language=\"JavaScript\">\n";
      scriptString += "test();\n";
      scriptString += "function test() {  window.opener.document.getElementById('myGif').style.display='none';  } \n";
      scriptString += "<";
      scriptString += "/";
      scriptString += "script>";
      ClientScript.RegisterStartupScript(this.GetType(), "test", scriptString);

Open in new window

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

  • 3
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now