Solved

How to make gif image invisible ??

Posted on 2008-10-05
6
1,010 Views
Last Modified: 2008-10-24
Hi,

     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 ??????
0
Comment
Question by:Paramhans
  • 3
  • 3
6 Comments
 
LVL 22

Assisted Solution

by:Ivo Stoykov
Ivo Stoykov earned 250 total points
ID: 22647320
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.
HTH
I

 <SCRIPT LANGUAGE="JavaScript">
 <!--
   function hideGif()
   {
     document.getElementById("test").style.display = "none";
   }
 //-->
 </SCRIPT>
 
<!-- 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

0
 

Author Comment

by:Paramhans
ID: 22656697
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.

0
 

Author Comment

by:Paramhans
ID: 22656741

I have code in ItemCommand of Grid linkbutton on page1 as following:
           Context.Items.Add("SurveyID",Convert.ToString(e.CommandArgument));		
           Server.Transfer("~/User/PDFReport.aspx");
 
On Page2 (PDFReport.aspx) page_load event i have code to generate pdf report using reporting services as following:
                               Response.Clear();
				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);
 
				Response.BinaryWrite(bytData);
 
This is the code for GeneratePdfReport() written in a class file:
 
		public string GeneratePdfReport(string surveyId)
		{
			try
			{
				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;
				try
				{
					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

0
Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

 
LVL 22

Assisted Solution

by:Ivo Stoykov
Ivo Stoykov earned 250 total points
ID: 22657589
Hi Paramhans
How correspond Page1 & Page 2? You must have onClick event in Page1, right?
I
0
 

Author Comment

by:Paramhans
ID: 22666230
On page 1 we have a link
When i click on that link lnkShow_click gets fired.
0
 
LVL 22

Accepted Solution

by:
Ivo Stoykov earned 250 total points
ID: 22667028
Well here is a possible solution

// default page (1 - report is called from)
<body>
    <form id="form1" runat="server">
    <div>
      <img id="myGif" src="#" /> <!-- your gif - must have an ID which is used in page2 -->
    </div>
    </form>
</body>
 
// 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

0

Featured Post

Active Directory Webinar

We all know we need to protect and secure our privileges, but where to start? Join Experts Exchange and ManageEngine on Tuesday, April 11, 2017 10:00 AM PDT to learn how to track and secure privileged users in Active Directory.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
How to close an asp.net web form using C# ? 4 47
performance issue in asp web 5 37
insert value of checklistbox checked 4 32
Convert Select to DropDownListFor MVC 5 2 30
Today is the age of broadband.  More and more people are going this route determined to experience the web and it’s multitude of services as quickly and painlessly as possible. Coupled with the move to broadband, people are experiencing the web via …
In .NET 2.0, Microsoft introduced the Web Site.  This was the default way to create a web Project in Visual Studio 2005.  In Visual Studio 2008, the Web Application has been restored as the default web Project in Visual Studio/.NET 3.x The Web Si…
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below. https://filedb.experts-exchange.com/incoming/2017/03_w12/1151775/Permutations.txt https://filedb.experts-exchange.com/incoming/201…

828 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question