reporting-services - 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 部分的那一刻,没有任何效果有人可以向我解释我在这里缺少什么以及为什么它不能正常工作
谢谢
解决方案
您需要引用 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 中,它应该可以工作。
推荐阅读
- java - Gradle + SpringBoot: :integrationTest 未在构建任务中执行
- javascript - 摘要式身份验证:从 javascript 获取浏览器存储的用户名
- nginx - 当“113:没有路由到主机”错误发生时,为什么 Nginx 不会将所有流量重新路由到适当的实例?
- git - git remote add new-origin 仅影响 master 分支,其余分支不受影响
- c# - 是否可以在 xamarin 表单中从第一页到第二页访问进度条?
- api - 通过 api rest 更新共享点文档的属性
- vba - 应用带有 Or 运算符的 If Then 语句来确定 am/pm
- css - 在引导进度条顶部添加数字步骤
- typescript - 如何获取 RxJS 主题的先前值?
- install4j - 如何让我的 install4j 安装程序替换 i4jinst.dll 以避免 UnsatisfiedLinkError