SSRS 2008 转到 url 设置为目标 =_top

SSRS 2008 go to url getting set to target =_top

我正在尝试通过矩阵报告的转到 URL 操作在 SSRS 中获取一份报告以在新选项卡中打开。如果我创建一个类似于

的表达式

="http://server/ReportServer/Pages/ReportViewer.aspx?/subfolder/Events&status_param="& fields!Status.value &"&rc:Toolbar=false" &"&rs:ClearSession=True" &"&rc:command=render" &"&rc:Target=_blank “

并单击 link,报告将在同一选项卡中打开。查看 Inspect Element 中的 html,我看到 link 已被翻译为

<A tabIndex=2 class=Ad0d357c05259475781d83a1be939ef9312a href="http://server/ReportServer/Pages/ReportViewer.aspx?/Subfolder/Events&amp;status_param=param1&amp;rc:Toolbar=false&amp;rs:ClearSession=True&amp;rc:command=render&amp;rc:LinkTarget=_blank" target=_top>param1</A>

将 target=_top 更改为 target=_blank 并再次单击 link 在新选项卡中打开报告。

关于为什么我的表达式没有将目标设置为 _blank 以及如何在新选项卡中打开报告有什么想法吗?我无法使用 windows.open,因为它被阻止了。

我一直无法让 "Target" 在 SSRS 表达式中正常工作。在我看来,JavaScript 是最简单的方法,但你说它被阻止了。正如您所知,如果您在 JavaScript 中遇到错误,单击 link 通常不会执行任何操作,使其看起来好像已被阻止。如果您想重试,一般公式如下:

="javascript:void(window.open('" & [Enter URL Expression here] & "'));"

如果您想在占位符表达式中创建自定义 link,您始终可以为占位符打开 "HTML - Interpret HTML tags as styles" 选项,然后嵌入您自己的 <a> 标记作为如下:

="<a href=" & Chr(34) & [Enter URL Expression here] & Chr(34) & " target=" & Chr(34) & "_blank" & Chr(34) & ">[Text for Link here]</a>"

请注意,CHR(34) 只是输入了一个引号。您可以在上面的示例中简单地使用单引号,但如果您曾经在同一标签中混合使用 HTML 和 JavaScript,那么您将不得不使用 CHR(34).

如果您有任何问题,请告诉我!