2017-02-23 13 views
0

SSRS式を使用してURLにいくつかのパラメータを動的に渡そうとしています。これがうまく働いた:SSRSのパラメータを含むURL式

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

を私もで動作するようにいくつかのパラメータを先URLを強化しようとしましたが、それはあまりにも正常に動作します。しかし問題は、私のパラメータ値に "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

URLをエスケープの代わりに、各予約文字を交換してみてください:

="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'))" 

このことができますなら、私に教えてください。

関連する問題