在SSRS中呈现HTML链接时忽略了目标属性
我使用的是SQL reporting services 2008 R2,在我的一份报告中,我使用占位符文本呈现html链接(锚定),以在另一个窗口中打开页面, 表达式文本如下所示:在SSRS中呈现HTML链接时忽略了目标属性,html,sql-server-2008,reporting-services,ssrs-2008,Html,Sql Server 2008,Reporting Services,Ssrs 2008,我使用的是SQL reporting services 2008 R2,在我的一份报告中,我使用占位符文本呈现html链接(锚定),以在另一个窗口中打开页面, 表达式文本如下所示: ="<a target='_top' href=""http://www.google.com"" >Print</a>" =“” 但是,在浏览器中呈现报告时,target=''u blank'不在那里,就好像SSRS呈现器忽略了它一样 我以前曾尝试使用JavaScript在新窗口中打开
="<a target='_top' href=""http://www.google.com"" >Print</a>"
=“”
但是,在浏览器中呈现报告时,target=''u blank'
不在那里,就好像SSRS呈现器忽略了它一样
我以前曾尝试使用JavaScript在新窗口中打开,但在客户端计算机上不起作用,因为我将SSRS报告托管在另一个web应用程序中托管的Iframe中,并且web应用程序和SSRS报告服务器都位于不同的域上。根据这一点,使用JavaScript无法解决此问题
所以问题是为什么SSRS渲染器忽略了我的target=“\u blank”属性当然,我不能告诉你设计者为什么选择这个。我可能能让你最接近于确认这实际上是设计的,即“它实际上忽略了属性” 委员会引用该条: •超链接:
•字体:
•标题、样式和块元素:
,
,
,
,
,
,
•文本格式:
,
,
,
•列表处理:
,
,
从第一位开始,我推断/猜测只有
a
标签上的href
属性受支持。我以前用javascript做过这件事。在链接文本框属性的“操作”选项卡上,选择“转到URL”。然后在“选择URL”表达式中输入此脚本:
javascript:void(window.open('http://www.google.com', '_blank'))
如果需要通过数据集传递URL,可以执行以下操作:
="javascript:void(window.open('" & Fields!YourURL.Value & "', '_blank'))"
在一位朋友的帮助下,我终于找到了它,要强制SSRS报告在新窗口中打开链接,只需将以下查询字符串参数添加到报告的URL:
&rc%3ALinkTarget=\u blank
例如,最终url将是:
http://myreportserver/ReportServer?/MainSSRSFolder/MyReport&rc%3ALinkTarget=_blank
这将使SSRS报告中的所有链接在新窗口中打开如果您在ASP.NET页面中使用reportviewer控件,还可以设置属性HyperlinkTarget=“\u blank”,将其应用于页面上的所有链接,而无需javascript调用。谢谢您的回答,因此似乎目标属性将被忽略,你知道如何克服这个问题吗?如何在新窗口中打开?不要认为有解决方案,除非使用JS等进行黑客攻击。检查我找到的解决方案,谢谢你的帮助谢谢,但我已经尝试过了。如果父网站和SSRS Iframe都在同一个域中,这可以正常工作,但是当它们在不同的域中时,这不起作用,请检查此链接:@HassanMokdad指的是您发布的链接,使用
a href
和使用JavaScript操作都可以将JavaScript操作嵌入为href:=“”
(这是在文本框表达式中完成的)我一直在尝试执行此操作,但遇到一个无效的路径错误,将ReportViewer控件的HyperlinkTarget属性设置为“blank”就成功了。