首页 > 解决方案 > SSRS 在另一个浏览器选项卡中打开链接

问题描述

我正在尝试将报告打开到同一浏览器中的另一个选项卡中。我尝试了以下但没有成功

="javascript:void(window.open('http://xxx-xxxxxxxxx/Reports/report/Ventes/subrptRevenuParSuccusale&rs:Command=Render')"

它总是给我元素的路径无效.....然后我尝试了

="javascript:void(window.open('http://xxx-xxxxxxxxx/Reports/report/Ventes/subrptRevenuParSuccusale')"

工作正常,我试图通过一个参数,但没有成功

="javascript:void(window.open('http://xxx-xxxxxxxxx/Reports/report/Ventes/subrptRevenuParSuccusale&rs:Command=Render&TransNo="+Fields!TRANSACTIONNO.Value+"')"

在我添加 &rs:Command=Render 部分的那一刻,没有任何效果有人可以向我解释我在这里缺少什么以及为什么它不能正常工作

谢谢

标签: reporting-services

解决方案


您需要引用 SSRS 报告服务器,而不是 SSRS 门户地址

像这样的东西

http://myServerName/reportserver/?%2FMY%20FOLDER%2FMY%20REPORT%20NAME&myParameterName=1234

这将打开MY FOLDER被调用文件夹中的报告,MY REPORT NAME并传入1234被调用的参数myParameterName

我发现将它们构建为 URL 表达式中的表达式更容易。这是一个例子

=Globals.ReportServerUrl
+ "?/myFolder/my+Report+Name" 
+ "&CountryID=" + cStr(Fields!CountryID.Value)
+ "&CategoryID=" + cStr(Fields!CategoryID.Value)
+ "&RecordedPeriodID=" + cStr(Parameters!PeriodID.Value)
+ "&rc:Parameters=Collapsed"

这里我们要从“我的文件夹”打开“我的报表名称”报表并传入3个参数,最后我设置了一个属性来隐藏参数面板。

注意:我使用内置的 SSRSGlobals!ReportServerUrl变量来获取服务器名称,因此它可以在开发和生产服务器上运行,无需修改。

将其包装在您的 javascript window.open 中,它应该可以工作。


推荐阅读