Has*_*dad 2 html sql-server-2008 reporting-services ssrs-2008
我正在使用SQL Reporting Services 2008 R2,并且在我的一个报告中,我使用占位符文本来呈现html链接(锚定)以在另一个窗口中打开页面,表达式文本如下:
="<a target='_top' href=""http://www.google.com"" >Print</a>"
Run Code Online (Sandbox Code Playgroud)
但是,当报表在浏览器中呈现时,target='_blank'则不存在,就像SSRS呈现器忽略它一样。
我尝试过使用JavaScript在新窗口中打开,但是在客户端计算机上不起作用,因为我将SSRS报告托管在另一个Web应用程序中托管的Iframe中,并且Web应用程序和SSRS报告服务器都是在不同的域上。根据此链接使用JavaScript无法解决此问题
所以问题是为什么SSRS渲染器会忽略我的target =“ _ blank”属性
小智 6
如果在ASP.NET页面中使用reportviewer控件,则还可以设置属性HyperlinkTarget =“ _ blank”将此属性应用于页面上的所有链接,而无需使用javascript调用。
我之前使用javascript完成过此操作。在链接的“文本框”属性的“操作”选项卡上,选择“转到URL”。然后在“选择URL”表达式中输入此脚本:
javascript:void(window.open('http://www.google.com', '_blank'))
Run Code Online (Sandbox Code Playgroud)
如果您需要数据集传递URL,则可以执行以下操作:
="javascript:void(window.open('" & Fields!YourURL.Value & "', '_blank'))"
Run Code Online (Sandbox Code Playgroud)
我终于在朋友的帮助下找到了它,要强制SSRS报告在新窗口中打开链接,只需将以下查询字符串参数添加到报告的URL中即可:&rc%3ALinkTarget=_blank
因此例如最终url将是:
http://myreportserver/ReportServer?/MainSSRSFolder/MyReport&rc%3ALinkTarget=_blank
Run Code Online (Sandbox Code Playgroud)
这将使 SSRS 报告中的所有链接在新窗口中打开