Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在SSRS中呈现HTML链接时忽略了目标属性_Html_Sql Server 2008_Reporting Services_Ssrs 2008 - Fatal编程技术网

在SSRS中呈现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在新窗口中打开

我使用的是SQL reporting services 2008 R2,在我的一份报告中,我使用占位符文本呈现html链接(锚定),以在另一个窗口中打开页面, 表达式文本如下所示:

="<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”就成功了。