报表在项目中设计好,发布到报表服务器后,在日常业务过程中,一般不会直接登录到报表服务器上去查看报表,而是通过第三方应用进行查看,一来方便系统集成、二来方便权限控制,我们需要通过ASP.NET应用程序来显示报表,操作过程如下:
创建aspx页面后,引入ReportViewer组件,两种方式:(1)手工输入代码,一定要注意添加引用、修改web.config;(2)直接从工具箱中拖动到页面,关于配置都会自动生成。(这个要省事多了),代码如下:
<%@ Register assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" namespace="Microsoft.Reporting.WebForms" tagprefix="rsweb" %>
<rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana"
Font-Size="8pt" InteractiveDeviceInfos="(集合)" ProcessingMode="Remote"
WaitMessageFont-Names="Verdana" WaitMessageFont-Size="14pt">
<ServerReport ReportPath="/xxxx/FromReport" ReportServerUrl="http://localhost/reportserver" />
</rsweb:ReportViewer>
预览页面后,却出现了“在 Web 窗体上报表查看器 Web 控件需要 System.Web.UI.ScriptManager”这样的错误,如图:
解决方案:
我们直接在页面中,添加如下代码:
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
问题解决。