在SSRS中呈现HTML链接省略了目标属性

时间:2014-02-19 08:32:08

标签: html sql-server-2008 reporting-services ssrs-2008

我正在使用SQL报告服务2008 R2,在我的一个报告中,我使用占位符文本呈现html链接(锚点)以在另一个窗口中打开页面 , 表达文本如下:

="<a target='_top' href=""http://www.google.com""  >Print</a>"

但是,当报表在浏览器中呈现时,target='_blank'不存在,就像SSRS渲染器忽略它一样。

之前我尝试使用JavaScript在新窗口中打开,但这在客户端计算机上无效,因为我在另一个Web应用程序托管的Iframe中托管SSRS报告,以及Web应用程序和SSRS报表服务器位于不同的域中。根据此link

,使用JavaScript无法解决此问题

所以问题是为什么SSRS渲染器会忽略我的target =“_ blank”属性

4 个答案:

答案 0 :(得分:4)

我之前用javascript做过这个。在链接的文本框属性的“操作”选项卡上,选择“转到URL”。然后在“选择URL”表达式中输入此脚本:

javascript:void(window.open('http://www.google.com', '_blank'))

如果您需要数据集传递的URL,则可以执行以下操作:

="javascript:void(window.open('" & Fields!YourURL.Value & "', '_blank'))"

答案 1 :(得分:4)

如果在ASP.NET页面中使用reportviewer控件,还可以设置属性HyperlinkTarget =&#34; _blank&#34;将此应用于页面上的所有链接,无需javascript调用。

答案 2 :(得分:2)

我终于在朋友的帮助下找到它,强制SSRS报告在新窗口中打开链接,只需将以下查询字符串参数添加到报告的URL:&rc%3ALinkTarget=_blank 例如,最终的网址将是:

http://myreportserver/ReportServer?/MainSSRSFolder/MyReport&rc%3ALinkTarget=_blank

这将使SSRS报告中的所有链接在新窗口中打开

答案 3 :(得分:1)

当然我无法告诉你为什么设计师选择了这个。我可能会得到你最接近的确认,这实际上是设计的,即“ 它实际上忽略了属性”。

MSDN lists supported HTML in SSRS,引用该文章:

  

•超链接:<A HREF>

     

•字体:<FONT>

     

•标题,样式和块元素:<H{n}><DIV><SPAN><P><DIV><LI>,{{1 }}

     

•文字格式:<HN><B><I><U>

     

•列表处理:<S><OL><UL>

从第一位开始,我推断/猜测 支持<LI>标签上的href属性。