文本框中的SSRS HTML标记不解释完整的HREF标记

时间:2018-06-13 15:05:03

标签: reporting-services reportbuilder3.0

我正在使用Report Builder 2016,我试图在我的文本框中包含一个标记。但是,SSRS不会使用参数解释完整的URL字符串。例如,我的标签是以下

<a href=http://www.google.com?ID=123456>some text</a>

SSRS只能解释参数的等号:http://www.google.com?ID。通过将文本框表达式的占位符属性切换回“从HTML测试”,我可以确认正在传入完整的URL字符串。

这是正在使用的完整表达式。这是在矩阵表中显示日历格式。 ID_URL字段是完整的URL字符串:

=IIF(Fields!Site.Value <> ""
    ,JOIN(LOOKUPSET(Fields!DayNumberOfMonth.Value
                   ,Fields!DayNumberOfMonth.Value
                   ,Fields!ID_URL.Value
                   ,"Month"
                   )
         ,"<br>"
         )
    ,""
    )

有关如何让SSRS用以下参数解释整个href字符串的任何想法?

1 个答案:

答案 0 :(得分:1)

由于源数据中包含URL,我认为您可以更轻松地显示您希望用户在文本框中看到的内容,并将文本框的Action属性设置为ID_URL字段中返回的网址。

如果您需要显示多个网址,您还可以将网址编码为不包含任何特殊字符。对于=,这将是%3D。我没有测试过这个,但我相信你也可以调用URLEncode函数:

System.Web.HttpUtility.UrlEncode(YourUrl)

您需要添加一个程序集引用来执行此操作,如果您不确定如何,可以通过this tutorial进行操作。

如果您绝对无法使用汇编引用,则可以使用this W3Schools web page作为参考,为您拥有的任何特殊字符手动添加replace函数。