DrAlbertHofmann
New Member
I had an grid view where i had placed an link button to print an report.In this button click event i need to call the SSRS report and need to get the output as pdf file.I had used this below code,the code is running fine,but i'm unable to see the prompt to open/save pdf file.Plz reply ASAP.\[code\] protected void btnAuthenticateAndPrint_Click(object sender, EventArgs args) { try { //Getting Values from grid LinkButton lb = (LinkButton)sender; GridViewRow row = (GridViewRow)lb.NamingContainer; Label lbOrderID = row.FindControl("lbOrderID") as Label; int OrderId = Convert.ToInt32(lbOrderID.Text); da = new SqlDataAdapter("Get_PODetails", con); da.SelectCommand.CommandType = CommandType.StoredProcedure; da.SelectCommand.Parameters.AddWithValue("@MPDI_ID", OrderId); ds = new DataSet(); da.Fill(ds, "PO"); if (ds.Tables["PO"].Rows.Count > 0) { lblPOId.Text=ds.Tables["PO"].Rows[0]["MPDI_ID"].ToString(); lblVendid.Text = ds.Tables["PO"].Rows[0]["MVDI_ID"].ToString(); lblBranch.Text = ds.Tables["PO"].Rows[0]["MBRI_ID"].ToString(); lblDate.Text = Convert.ToDateTime(ds.Tables["PO"].Rows[0]["MPDI_Date"]).ToString("dd-MM-yyyy"); } //SSRS Report Print rs = new RSWebService.ReportingService2005(); rsExec = new REWebService.ReportExecutionService(); rs.Credentials = System.Net.CredentialCache.DefaultCredentials; rsExec.Credentials = System.Net.CredentialCache.DefaultCredentials; rs.Url = "http://localhost/ReportServer/ReportService2005.asmx"; rsExec.Url = "http://localhost/ReportServer/ReportExecution2005.asmx"; byte[] Sendresults = null; byte[] bytes = null; string historyID = null; string deviceInfo = @"<DeviceInfo><Toolbar>False</Toolbar></DeviceInfo>"; string format = "PDF"; string encoding = null; string mimeType = null; string extension = null; REWebService.Warning[] warnings = null; string[] streamIDs = null; string _reportName = @"/FIMO GOF Assets Reports/PURCHASE ORDER"; REWebService.ExecutionInfo ei = rsExec.LoadReport(_reportName, historyID); REWebService.ParameterValue[] parameters = new REWebService.ParameterValue[4]; parameters[0] = new REWebService.ParameterValue(); parameters[0].Name = "MVDI_ID"; parameters[0].Value = http://stackoverflow.com/questions/13833194/lblVendid.Text; parameters[1] = new REWebService.ParameterValue(); parameters[1].Name ="MBRI_ID"; parameters[1].Value = http://stackoverflow.com/questions/13833194/lblBranch.Text; parameters[2] = new REWebService.ParameterValue(); parameters[2].Name ="MPDI_Date"; parameters[2].Value = http://stackoverflow.com/questions/13833194/lblDate.Text; parameters[3] = new REWebService.ParameterValue(); parameters[3].Name ="ReportParameter1"; parameters[3].Value = http://stackoverflow.com/questions/13833194/lblPOId.Text; rsExec.SetExecutionParameters(parameters,"en-us"); Sendresults = rsExec.Render(format, deviceInfo, out extension, out encoding, out mimeType, out warnings, out streamIDs); MemoryStream ms = new MemoryStream(Sendresults); //To create a PDF if (format == "PDF") { Response.ContentType = "application/pdf"; Response.AddHeader("Content-disposition", "inline;filename=output.pdf"); Response.AddHeader("Content-Length", Sendresults.Length.ToString()); } Response.OutputStream.Write(Sendresults, 0, Sendresults.Length); Response.OutputStream.Flush(); Response.OutputStream.Close(); } catch(Exception Ex) { throw Ex; } }\[/code\]