我在我的文本框上定义了一个操作以转到 URL。为此,我使用了 Go to URL in Action。下面是我在 Expr 中的代码。
="javascript:void(window.open('"+Parameters!url.Value+"'))"
问题是,如果 URL 在参数中有 # 字符,则该 URL 不起作用,并给我一个错误:
“团队”参数缺少值。
我知道需要对特殊字符进行编码,我正在尝试替换 # 字符,但这不起作用。
该!参数url.Value是:https://开头本地主机:80 /的ReportServer /页/ ReportViewer.aspx /Reports/End+Dashboard+-+Drilldown&Sprint=10.5&Team=#LetsDoIt&Type=Drilldown
在这里您可以看到参数的Team
值为#LetsDoIt
。为了演示目的,我正在使用它,但在现场它来自报告参数组合。仅当Team
参数的值中包含 # 时,我才会遇到问题。
任何帮助表示赞赏。
问题:我更换了#
与%23
编码的#
,但网址被点击时的编码文本%23
被解码回来#
这是打破链接功能。
因此,我为此使用了双重编码,我将替换#
为%2523
如下所示:
="javascript:void(window.open('"+Replace(Parameters!url.Value,"#","%2523")+"'))"
所以现在当涉及到 URL 时,它只会被解码一次。所以最终的 URL 是:https://localhost:80/ReportServer/Pages/ReportViewer.aspx?/Reports/End+Dashboard+-+Drilldown&Sprint=10.5&Team=%23LetsDoIt&Type=Drilldown工作得很好。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句