我的报表是从WebService上获取的列表信息,预想结果是:当点击列表中的一项时,在页面中显示此报表的内容,此报表中的查询参数是通过后台自己拼得,当点击按钮时,ReportViewer控件根据参数显示报表信息。
现在的错误是:当页面加载时,查询条件已经拼接好,但是ReportViewer控件一直在加载,打断点后,页面一直在循环找参数,相当于页面一直在刷新。代码片段如下:
我这没有加IsPostBack,如果加上这个点击按钮就进不来本页面了。ReportViewer控件一直加载,然后断点这一直在执行,各位大侠,帮忙解决下。
我测试下,如果加上rpv.ServerReport.SetParameters(rpa)这句话的话,就会一直刷新,去掉就没事了,但是我如果去掉这句话,那就没法按照条件来查询了
没有做过,只能顶了。
谢谢大家的关注,我现在自己解决了,我把思路给大家分享下:
将ReportViewer放到另外一个新的页面中,本页面只根据报表中的参数拼接查询条件,并放置一个Iframe。
当点击按钮时给Iframe附上src,通过Ajax将值传递到放置ReportViewer控件的页面,在PageLoad中将接收到参数进行解析并转换成SetReportParameter()方法中需要的参数集合
这样就可以避免上面的问题了。