2013-05-28 99 views
0

您好,我在爲ASP.NET頁面中的服務器上部署的SSRS報告提供參數時出錯。無法將參數傳遞給ASP.NET頁面中的SSRS報告

請參考下面的代碼,讓我知道問題在哪裏?

ReportExecutionService rs = new ReportExecutionService(); 
     string rptURL = System.Configuration.ConfigurationManager.AppSettings["rptURL"].ToString(); 
     string rptPath = System.Configuration.ConfigurationManager.AppSettings["Page1SLScorecardReortForDownload"].ToString(); 
     //Microsoft.Reporting.WebForms.ReportParameter[] paramlist = new Microsoft.Reporting.WebForms.ReportParameter[3]; 
     //paramlist[0] = new Microsoft.Reporting.WebForms.ReportParameter("Week", "2013-05-03"); 
     //paramlist[1] = new Microsoft.Reporting.WebForms.ReportParameter("year", "Fiscal Calendar 2013"); 
     //paramlist[2] = new Microsoft.Reporting.WebForms.ReportParameter("Month", "Fiscal May, 2013"); 
     ParameterValue[] paramlist = new ParameterValue[3]; 
     //Microsoft.Reporting.WebForms.ReportParameter[] paramlist = new Microsoft.Reporting.WebForms.ReportParameter[3]; 
     paramlist[0] = new ParameterValue(); 
     paramlist[0].Name = "Week"; 
     paramlist[0].Value = "2013-05-03"; 
     paramlist[1] = new ParameterValue(); 
     paramlist[1].Name = "year"; 
     paramlist[1].Value = "Fiscal Calendar 2013"; 
     paramlist[2] = new ParameterValue(); 
     paramlist[2].Name = "Month"; 
     paramlist[2].Value = "Fiscal May, 2013"; 

     //ReportViewer1.ServerReport.SetParameters(paramlist); 

     rs.Credentials = System.Net.CredentialCache.DefaultCredentials; 
     rs.Url = rptURL; 
     byte[] result = null; 
     string reportPath = rptPath; 
     string format = "EXCEL"; 
     string historyID = null; 
     string devInfo = @"<DeviceInfo><Toolbar>False</Toolbar></DeviceInfo>"; 

     string encoding; 
     string mimeType; 
     string extension; 
     ReportingWS.Warning[] warnings = null; 
     string[] streamIDs = null; 
     ReportingWS.ExecutionInfo execInfo = new ReportingWS.ExecutionInfo(); 

     ReportingWS.ExecutionHeader execHeader = new ReportingWS.ExecutionHeader(); 
     rs.ExecutionHeaderValue = execHeader; 

     execInfo = rs.LoadReport(reportPath, historyID); 
     rs.SetExecutionParameters(paramlist, "en-us"); 
     String SessionId = rs.ExecutionHeaderValue.ExecutionID; 

     try 
     { 
      result = rs.Render(format, devInfo, out extension, out encoding, out mimeType, out warnings, out streamIDs); 
      execInfo = rs.GetExecutionInfo(); 
     } 
     catch (Exception ex) 
     { 
      //AlnErrorHandler.HandleError(ex); 
     } 

回答

0
  parameters.Add(new ReportParameter("FyId", Convert.ToInt16(objSession.FyId).ToString())); 
      parameters.Add(new ReportParameter("AccountGroupId", cmbAccountGroup.SelectedValue)); 
      parameters.Add(new ReportParameter("LedgerId", cmbLedgerId.SelectedValue));    
      rptvwMain.ServerReport.SetParameters(parameters); 

傳遞參數類似這樣的....

+0

不工作。它說構造函數不會帶兩個值。我想強調一點,我並不想將參數傳遞給報告查看器,因爲我在anothere報告中做了這樣的事情,並且參數很容易傳遞給reportviewer。我想獲得報告的結果並在稍後寫入文件。 – Richa

相關問題