2017-02-23 46 views
0

我想通過SSRS表達式動態地將一些參數傳遞給URL。這工作得很好:帶有SSRS表達式中的參數的URL

="javascript:void(window.open('"+ Fields!ReferURL.Value + "','_blank'))"

我也試圖加強與一些參數的目標網址,使用和太正常工作。但問題是我的參數值有「Spaces」和「Ampersands」,我需要分別用「%20」和「%26」替換。但是嵌套的替換函數似乎不起作用,並且在我不想要的URL中仍然有「Spaces」和「Ampersands」。

我的表達是:

="javascript:void(window.open('"+ "https://www.somewebsite.com/page1.html?site=" + Replace(Replace(Parameters!Site.Value," ","%20"),"&","%26") + "&division=" + Replace(Replace(Parameters!Division.Value," ","%20"),"&","%26") + "&rptdate=" + Replace(Replace(Parameters!ReportDate.Value," ","%20"),"&","%26") + "&rptname=" + First(Fields!ReportName.Value, "DS_Commentary") + "','_blank'))"

任何人都可以請幫助。

問候

回答

1

嘗試逃離你的網址,而不是替換每個字符保留:

="javascript:void(window.open('"+ 
System.Uri.EscapeDataString("https://www.somewebsite.com/page1.html?site=" + 
Parameters!Site.Value + "&division=" + Parameters!Division.Value + "&rptdate=" + 
Parameters!ReportDate.Value + "&rptname=" + 
First(Fields!ReportName.Value, "DS_Commentary")) + "','_blank'))" 

讓我知道,如果這有助於。