为ASP.NET传递参数ot RDL报告

时间:2011-05-31 09:13:29

标签: asp.net reportviewer

我试图在ASP.NET中远程调用rdl报告,并且我成功调用了没有参数的报告。但是当我传递参数时,报告我没有填充并且没有给出错误。它显示在报告中。在下面找到我的代码。请同样建议我。

MyReportViewer.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Remote;
  MyReportViewer.ServerReport.ReportServerUrl = new Uri(@"http://gblon9sqm10   /ReportServer_DB10");
        MyReportViewer.ServerReport.ReportPath = "/Reports/Report1";
        MyReportViewer.ShowParameterPrompts = false;
        MyReportViewer.ShowPrintButton = true;

        ReportParameter[] rptParameters = new ReportParameter[1];
        rptParameters[0] = new ReportParameter();
        rptParameters[0].Name = "exposureType";
        rptParameters[0].Values.Add("Impressions");
        MyReportViewer.ServerReport.SetParameters(rptParameters);
        MyReportViewer.ServerReport.Refresh();

2 个答案:

答案 0 :(得分:1)

我已经设置了一段时间,但我记得必须确保你没有在回发时再次设置报告。这是我在page_load中的代码:

if (!Page.IsPostBack)
{
    rptViewer.ServerReport.ReportServerUrl = Settings.ReportServerUrl;
    if (rptViewer.ServerReport.ReportServerCredentials == null)
        rptViewer.ServerReport.ReportServerCredentials = new ReportServerCredentials();
    List<ReportParameter> parameters = new List<ReportParameter>();
    parameters.Add(new ReportParameter("TitleLabel", "Title string here"));
    //More parameters added here...
    rptViewer.ServerReport.SetParameters(parameters);               
}

答案 1 :(得分:0)

我遇到的问题与您提到的代码和配置相同。

我尝试了额外的工作并摆脱了问题。

我创建了一个包含单个参数“Name”的新报告,并将代码从代码隐藏传递给ReportParameter。在报告配置端设置参数文本的类型并允许空白值。请注意,我没有触及参数的任何其他设置意味着默认情况下保持它。

这适用于我,然后我开始添加更多参数,它完全正常。

没有任何浏览器限制。

尝试如上所述仍然面对问题,然后回复我,我将提供示例代码。

希望它会对你有所帮助。