在我的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报告中,报告如何使用/提取额外的查询字符串?
谢谢。
答案 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中修改报告。这可以在“报告数据”窗口的参数部分下完成。