SSRS报表URL参数传递失败问题求助
SSRS URL参数传递失败问题排查
你的URL参数传递格式有误,主要问题出在两点:
- 参数前缀错误:SSRS URL传递参数不需要
rs:前缀,直接使用目标报表的参数名即可。 - 表达式写法错误:
@calendarID.value是报表内部的表达式语法,不能直接写在URL里。如果是通过文本框动作设置URL,需要用SSRS表达式拼接实际参数值。
正确的配置方式
使用表达式构造URL(文本框动作)
在文本框的「动作」设置中,选择「转到URL」,然后输入以下表达式(替换对应字段/参数名):="http://mpstasks1/ReportServer/Pages/ReportViewer.aspx?%2fMPS%2fStudent+Summary&calendarID=" & Fields!CalendarID.Value & "&StudentID=" & Fields!StudentID.ValueFields!CalendarID.Value:当前报表数据集里的CalendarID字段值Fields!StudentID.Value:当前报表数据集里的学生学号字段值- 如果是传递当前报表的参数值,替换为
Parameters!calendarID.Value即可
直接构造静态URL(测试用)
如果是手动测试URL,需要填入实际的参数值,比如:http://mpstasks1/ReportServer/Pages/ReportViewer.aspx?%2fMPS%2fStudent+Summary&calendarID=123&StudentID=S456
额外注意事项
- 目标报表的参数名称必须和URL里的参数名完全一致(大小写敏感),比如目标报表参数是
CalendarID,URL里就不能写calendarID - 如果参数值包含特殊字符(如空格、&等),SSRS表达式会自动处理编码,手动写URL时需要自行URLEncode
内容的提问来源于stack exchange,提问作者Wayne




