2017-02-23 25 views
0

Я пытаюсь динамически передать несколько параметров URL-адресу через выражение SSRS. Это работало отлично:URL с параметрами в выражении SSRS

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

Я также попытался усиливало URL назначения с некоторыми параметрами для работы с, и это тоже отлично работает. Но проблема в том, что мои значения параметров имеют «пробелы» и «амперсанды», которые мне нужно заменить на «% 20» и «% 26» соответственно. Но вложенные функции замены, похоже, не работают, и у меня все еще есть «пробелы» и «амперсанды» в URL-адресе, который я не хочу.

Мой Выражение:

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

Дай мне знать, если это помогает.

Смежные вопросы