有些部署在报表服务器上的报表,需要通过级联下拉框的方式填写报表参数以获得最终的报表,但是这样的报表访问起来不直接,通常需要多步骤操作才能完成,在获得相关参数的情况下,可以考虑直接拼接字符串通过URL访问报表服务器,以便获取报表。
直接传递参数和拼接字符串的方式隐含了某些风险,需要综合考虑采用。
关于报表参数传递的文章可以参考 http://www.mssqltips.com/tip.asp?tip=1336
上面是比较简单和清晰的。问题是设计汉字作为参数传递时需要对汉字进行编码。编码使用 Server.UrlEncode() 或者Server.UrlPathEncode()均可。
如下代码可供参考:
Code
1 HyperLink1.NavigateUrl = "http://server/jwbb/?%2f"
2 + Server.UrlPathEncode("教务管理报表")
3 +"/" + Server.UrlEncode("期末考试分析")
4 + "&rs:Command=Render"
5 + "&xy=" + Server.UrlEncode("2008-2009") //学年
6 + "&xq=" + Server.UrlEncode("2") //学期
7 + "&kcmc=" + Server.UrlEncode("TCP/IP技术") //课程名称
8 + "&zymc=" + Server.UrlEncode("电子信息科学与技术") //专业名称
9 + "&xsnj=" + Server.UrlEncode("2006") //学生所在年级
10 + "&rc:Parameters=false"
11 ;