[导入]reporting service url中文参数传递问题

妈的,又是URL中文参数传递问题。发现找BUG要很耐心的找,才会找的出来,仔细分析各种情况,多试试,只

要有什么你没想到的,就去试下啊。

通过键入报表的 URL,您可以直接打开报表服务器中的报表。报表 URL 包含 Web 服务器的名称、报表服务器虚拟目录的名称以及报表的完全限定名称。(完全限定的名称包含报表路径,并以报表本身的名称结束。)下例说明了报表 URL 可能的外观:

http://exampleWebServerName/reportserver?/foldercontainingreports/orders

Reporting Services URL访问可使用多个参数,由于使用了参数前缀,因此对参数次序不做要求。

语法:
http://server/virtualroot?%5b/pathinfo%5d&prefix:param=value%5b&prefix:param=value%5d...n]

常用前缀及其参数名

rc:toolbar=true/false  显示/不显示工具栏

rs:command=render 呈现报表

rs:format=PDF(DOC,XLS)导出报表格式

rc:parameters=true/false  显示/不显示工具栏的参数选择区域

@Parameter=value  直接传递参数值

[详细]Reporting Services联机丛书-Url Access

server——指的是Report Server所在的服务器。
virtualroot——默认是ReportServer,也可以在安装时重命名。
pathinfo——在问号后面跟报表的path,包含了报表路径的报表名,可以在ReportServer数据库中的catalog表中的path字段查到所有报表的全路径名。
&——在此符号后面跟的便是报表的参数。

注意:在URL参数中如果有中文,将不能被正确识别,解决的方法是用HttpUtility.UrlEncode将其转换为uft-8,再附加到参数中即可。此外还要注意参数是大小写敏感的。

小技巧:当你在报表页面上右击鼠标,也出现了导出到Excel的选项,这种导出是浏览器的功能而非Reporting Services的。

ASP.NET中展现报表
ASP.NET提供了多种技术来呈现Web形式的报表,通常的解决方法是用Iframe。将我们前面所掌握的URL赋值给Iframe的src,结合Javascritp脚本,我们便可以将报表集成在页面中。此外,我们还可以充分利用ASP.NET强大的控件功能,如日历控件、图像按钮等功能提高系统的易用性。
小技巧:有时报表中的图片可能会显示不出来,这可能是Cookies的设置问题,你也可以通过让客户下载reg文件,把Reporting Services服务器加入本地计算机的信任站点中。此外,报表中的image有embed和external两种方式,建议使用external方式,这样可以有效地缩小报表的尺寸。

原文链接:http://aspx1314.cn/?p=306,转载请注明原文地址,谢谢

原文地址:https://www.cnblogs.com/zonghua/p/1288528.html