Report Viewer 9.0在UpdatePanel控件中会产生Javascript错误,针对这个问题有两种解决方案:
- 将ReportViewer控件部分的内容,使用新的页面,并通过iframe标签进行显示
- 下载使用新版的Microsoft Report Viewer 2010 Redistributable Package控件,具体使用方法见下文
第一步:下载并安装新版ReportViewer 10.0控件
控件下载地址:http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=6442
第二部:修改Web.Config文件中的配置信息
- 在configuration/system.web/httpHandlers节点中增加以下配置信息
<add verb="*"path="Reserved.ReportViewerWebControl.axd" type ="Microsoft.Reporting.WebForms.HttpHandler,Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" />
- 在configuration/system.webServer/handlers节点中增加以下配置信息(For IIS7)
<addname="ReportViewerWebControlHandler"preCondition="integratedMode" verb="*"path="Reserved.ReportViewerWebControl.axd"type="Microsoft.Reporting.WebForms.HttpHandler,Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" />
- 在configuration/runtime/assemblyBinding节点中增加以下配置信息
<dependentAssembly>
<assemblyIdentityname="Microsoft.ReportViewer.WebForms"publicKeyToken="b03f5f7f11d50a3a"/>
<bindingRedirectoldVersion="9.0.0.0-9.1.0.0" newVersion="10.0.0.0"/>
</dependentAssembly>
- 建议在configuration/system.web/compilation/assemblies节点中增加以下配置信息
<addassembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0,Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<addassembly="Microsoft.ReportViewer.Common, Version=10.0.0.0,Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
第三部分:使用ReportViewer控件
使用方式和旧版的控件一样
<rsweb:ReportViewerID="rptViewer" runat="server" Width="100%"Height="500"></rsweb:ReportViewer>