我正在使用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”属性
答案 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
属性。