2017-02-23 5 views
0

Ich versuche, einige Parameter dynamisch über den SSRS-Ausdruck an die URL zu übergeben. Das hat gut funktioniert:URL mit Parametern in SSRS-Ausdruck

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

ich auch versucht, die Ziel-URL mit einigen Parametern erweitert, mit zu arbeiten und das funktioniert auch in Ordnung. Aber das Problem ist, dass meine Parameterwerte "Spaces" und "Ampersands" haben, die ich durch "% 20" bzw. "% 26" ersetzen muss. Aber die verschachtelten Replace-Funktionen scheinen nicht zu funktionieren und ich habe immer noch "Spaces" und "Ampersands" in der URL, die ich nicht möchte.

Mein Ausdruck ist:

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

Kann jemand bitte helfen.

Grüße

Antwort

1

Versuchen Sie Ihre URL statt Ersetzen jedes reservierten Charakter zu entkommen:

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

Lassen Sie mich wissen, ob das hilft.