【问题标题】:SSRS: Relative URL HyperlinkSSRS:相对 URL 超链接
【发布时间】:2009-10-20 20:57:08
【问题描述】:

在 SSRS 2008 中,我想创建一个相对路径 URL。长话短说,我有一个订阅,它将几千个静态 HTML 页面输出到一个用作网站内容的文件夹中。过去,我使用文本框属性 -> 操作 -> 转到 URL 创建了指向站点上其他页面(实际上是子报告)的完整 URL。我想修改我的代码,使其返回目标的相对路径而不是完整的 URL。这将减少某人最终通过更改网站域或文件夹结构来破坏导航的可能性。当我尝试完成这项工作时,以前可单击的对象不再是可单击的。 如何使 SSRS 超链接跳转到相对 URL 而不是完全限定的 URL?

以下是有效的:

="https://some.domain.com/some_page/" + Fields!Custom_Page_Name.Value.ToString() + ".html"

以下是不起作用的:

="../" + Fields!Custom_Page_Name.Value.ToString() + ".html"
="/" + Fields!Custom_Page_Name.Value.ToString() + ".html"
=Fields!Custom_Page_Name.Value.ToString() + ".html"
="..\" + Fields!Custom_Page_Name.Value.ToString() + ".html"
="\" + Fields!Custom_Page_Name.Value.ToString() + ".html"

【问题讨论】:

  • 相对于当前页面?
  • 相对于当前呈现的报告文件,该文件位于某处的文件共享中。

标签: reporting-services ssrs-2008


【解决方案1】:

只需阅读此 Q 和 A,并为任何寻找的人提供更好的解决方案。如果您想要相对 url,那么只需使用 javascript,例如

="javascript:void(window.navigate( '/mydirectory/reportcountry.aspx?CountryID=" + Fields!CountryID.Value.ToString() + "'))"

【讨论】:

    【解决方案2】:

    如果您查看在 Visual Studio 中运行报告时生成的警告,您会得到答案:

    [rsInvalidURLProtocol] 文本框“textbox6”的超链接属性的值“test.html”具有无效架构。报告中的 URL 只能使用 http://、https://、ftp://、mailto: 或 news:

    即URL 必须具有其中一种协议,并且由于无法编写以协议开头的相对 URL,这意味着 SSRS 不支持相对 URL。

    另一种方法是在参数中设置基本 URL,然后可以轻松更改该参数,并且只需要在更改时重新生成您的 html 页面。

    【讨论】:

    • 不是我希望听到的,但我很高兴听到它。我从来没有注意到警告,这肯定回答了我的问题。
    【解决方案3】:
    ="javascript:void(window.open(document.URL.replace('CurrentReportName','NavigateToReportName'),'Window1','menubar=no,width=430,height=350,toolbar=no'));"
    

    我知道这是一个旧帖子。它可能对某人有所帮助..注意:我使用的是 SSRS 2008

    【讨论】:

      【解决方案4】:

      只需使用全局变量Globals!ReportServerUrl

      所以"http://myservername/rs?/myreportname" 变成了Globals!ReportServerUrl + "?/myreportname"

      【讨论】:

        【解决方案5】:

        在带有 SQL Server Data Tools 的 Visual Studio 2013 中,您可以访问标签的属性页。这提供了链接到另一个报告(在同一项目中)并根据需要传递任何参数的选项:

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-10-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多