0

在我的 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 报告中,报告如何使用/提取额外的查询字符串?

谢谢你。

4

1 回答 1

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 中修改报告以排除新参数。这可以在报告数据窗口的参数部分下完成。

于 2013-07-04T12:52:57.430 回答