跳转到URL不起作用

时间:2010-02-12 22:13:06

标签: sharepoint reporting-services performancepoint

我的报告中包含指向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>

点击它时什么都不做。

2 个答案:

答案 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,因为我没有意识到这会产生影响。