我的报告中包含指向Word文档的链接。我在文本框上创建了一个Action,它跳转到URL,并填充了URL。
我有一个PerformancePoint仪表板,显示报告,该报告位于使用SharePoint集成报告的报告库中。
链接无法正常工作。按照this guy的建议,我将我的链接包含在一个新窗口中打开javascript。
除最终结果外,这种方法无处不在。该链接适用于BIDS,仪表板设计器和报告库。它在部署到SharePoint站点的仪表板中不起作用。有什么想法吗?
编辑: 这个HTML链接:
=First(Fields!Link.Value, "MyUrl")
在呈现的报告中给我这个:
<TD style="WIDTH:53.98mm;word-wrap:break-word;HEIGHT:6.35mm;" class="a7">Click Me!</TD>
此Javascript链接:
="javascript:window.location.href='" & First(Fields!Link.Value, "MyUrl") & "';"
在呈现的报告中给我这个:
<a tabindex="40" href="javascript:window.location.href='http://example.com/sites/some/subsite/DocumentLibrary/Folder/MyDocument.doc';" style="color:Blue" TARGET="_top">Click Me!</a>
点击它时什么都不做。
答案 0 :(得分:1)
我对Performancepoint不熟悉,但是你编写javascript的方式似乎有点简化了吗?我问,因为完美链接不起作用的唯一方法是,如果页面中的链接返回false。尝试将整个URL更改为一个函数,例如:
<script type='text/javascript'>
function goTo(url) {
window.event.stopPropagation(); // cancelBubble() in IE
location.href = url;
return false;
}
</script>
链接为:
="javascript:goTo('" & First(Fields!Link.Value, "MyUrl") & "')"
并在goTo函数中进行一些试验和错误,抱歉无法更准确地帮助您。尝试在第二个浏览器中进行测试(如果您还没有),看看这是否是某些浏览器特定的行为。
答案 1 :(得分:1)
事实证明,有两个问题正在发生。
我首次尝试使用https://example.com/呈现链接...因为Reporting Services 2005拒绝链接到https网站而无效。 (没有这个信息的来源,只是通过实验确定)
我第二次尝试将javascript放在链接上失败,因为PerformancePoint 2007仪表板不会从报表中执行JavaScript。 (没有这个信息的来源,只是通过实验确定)
解决方案是回到直接的HTML解决方案,并使用http。这会被重定向到https并加载文档。如果您的环境未自动重定向http,则此解决方案可能无效 - > HTTPS。
我在原始问题中没有提到https,因为我没有意识到这会产生影响。