2017-02-23 1 views
0

J'essaie de transmettre dynamiquement quelques paramètres à l'URL via l'expression SSRS. Cela a bien fonctionné:URL avec paramètres dans l'expression SSRS

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

J'ai essayé aussi amélioré l'URL de destination avec certains paramètres pour travailler avec et qui fonctionne très bien aussi. Mais le problème est que mes valeurs de paramètres ont "Spaces" et "Ampersands" que j'ai besoin de remplacer par "% 20" et "% 26" respectivement. Mais les fonctions de remplacement imbriquées ne semblent pas fonctionner et j'ai toujours "Spaces" et "Ampersands" dans l'URL que je ne veux pas.

Mon expression est:

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

Quelqu'un peut-il s'il vous plaît aider.

Cordialement

Répondre

1

Essayez échapper à votre URL au lieu de remplacer chaque caractère réservé:

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

Permettez-moi de savoir si cela aide.