如何将查询字符串参数传递给报表查看器控件中的ssrs报表

时间:2013-07-04 12:37:50

标签: asp.net reporting-services ssrs-2008 reportingservices-2005

在我的2012 asp.net Web表单应用程序中,编码了一个包含asp.net报表查看器控件的aspx页面 在如下的Page_Load事件处理程序中使用属性ReportPath调用远程ssrs(SQL Server 2012)报告。

我有两个问题:

问题1:如果我想通过属性ReportPath再传递一个查询字符串,例如deviceId = 1234,我该怎么办?

protected void Page_Load(object sender, EventArgs e)
        {
                ....
                ReportViewer1.ServerReport.ReportPath = _myReportPart; // I want to pass more query string here like deviceId=1234. How can I do so?
                ReportViewer1.ServerReport.ReportServerUrl = new Uri(myReportServerUrl);
            }
        }

问题2:在远程ssrs rdl报告中,报告如何使用/提取额外的查询字符串?

谢谢。

1 个答案:

答案 0 :(得分:1)

要在asp.net中向报表添加参数,您可以执行以下操作

    ReportParameter rpt7 = new ReportParameter(**PARAMETER NAME**, **VALUE**);
    this.ReportViewer1.ServerReport.SetParameters(new ReportParameter[] { rpt7 });

从上面的示例中,您可以使用Request.QueryString [“deviceId”]替换该值.ToString()将查询字符串值作为参数传递。

有关详细信息,请参阅以下内容 http://social.msdn.microsoft.com/Forums/en/sqlreportingservices/thread/72fdf94f-2b5d-4fc3-82c4-7db887033507

除了额外参数之外的报告,除了新参数之外,您必须在Visual Studio中修改报告。这可以在“报告数据”窗口的参数部分下完成。