SSRS:参数验证失败。不可能为所有参数提供有效值。 (rsParameterError)
问题背景:在报表中一定要包含很多参数,这样报表才能灵活应用,那么这些参数有时候会通过aspx页面的code来传递参数,同时也有可能这些参数和权限有关,在某种情况下只能指定在固定的值,且这个值在报表的查询区域是不可见的。
点击确定后,我们在报表设计器中预览,正常。【补充一下:最好选择“隐藏”选项,可能不会出现后面的错误】然后部署报表,在aspx.cs代码中实现这个参数的传递:
ReportParameter[] parameters = new ReportParameter[] {
new ReportParameter("InputType",Handler.RequestQueryString("InputType"))
};ReportViewer1.ServerReport.SetParameters(_parameters);
接下来,我们生成后,预览这个页面,同时传递了正确的InputType参数,结果出现了如下错误:
参数验证失败。不可能为所有参数提供有效值。 (rsParameterError)
这个问题在百度、Google上查了好久,有的说是将指定值去掉、或者将默认值取消,都不行,最后在一篇文章中找到了相关的提示解决方案(原文:http://stackoverflow.com/questions/8119680/parameter-validation-failed-it-is-not-possible-to-provide-valid-values-for-all),总结一下,方法如下:我们打开报表服务器,进入报表目录中,打开刚才发布的报表,发现提示同样的错误,咦?怎么回事呢?接下来我们进入这个报表的管理界面,切换到参数标签,如图:就是这个地方的问题了,我们将“提示用户”选项√上,将“隐藏选项√上,然后输入显示文本,点击“应用”。再查看报表时,提示另外的消息了“I
问题解决!