我的.aspx页面中显示的SSRS报告正常,但需要在自己的窗口中显示。现在,我可以在报表服务器上形成一个URL,并像这样轻松打开它,但在这种情况下,这不是我需要做的。
string url = "http://testserver/ReportServer/Pages/ReportViewer.aspx? %2fSQLReports%2fTestReport&rc:Parameters=Collapsed&ID=" + ID.ToString() + "";
string script = "window.open('" + url + "','')";
if (!ClientScript.IsClientScriptBlockRegistered("NewWindow"))
{
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "NewWindow", script, true);
}
我需要做的是从代码隐藏开始,打开我们现在在aspx页面上形成报告视图的方式,并将其与其一起传递:
(ReportViewer1.ServerReport.ReportServerCredentials)
我已经研究了很长一段时间,似乎无法找到解决方案的明确答案。我尝试过以下方法:
ajaxToolkit:ModalPopupExtender
(有一种方法可以做到这一点
可拖动但由于已知错误而在IE10中中断。补丁不是
一个选项,因为它们位于最终用户客户端计算机上。Server.Redirect
或Transfer
到一个单独的页面,在会话变量中传递参数值。这是一个跨越多个页面的报告,因此在回发时您将无需重新加载报告。