asp.net – 报表查看器Web控件HTTP处理程序尚未在应用程序的web.config文件中注册

The Report Viewer Web Control HTTP Handler has not been registered in the application's 
web.config file.  Add <add verb="*" path="Reserved.ReportViewerWebControl.axd" type = 
"Microsoft.Reporting.WebForms.HttpHandler,Microsoft.ReportViewer.WebForms,Version=9.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" /> to the system.web/httpHandlers section of the web.config file

这个错误即将到来.我已经在http处理程序中提到了这一行,但仍然收到此错误

<add path="Reserved.ReportViewerWebControl.axd" verb="*"   type="Microsoft.Reporting.WebForms.HttpHandler,Version=8.0.0.0,PublicKeyToken=0000000000000000" validate="false" />

我的html页面标记如下

<%@ Register Assembly="Microsoft.ReportViewer.WebForms,PublicKeyToken=b03f5f7f11d50a3a"
    Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<asp:Button ID="btnsubmit" runat="server" OnClick="GenerateReportButton_Click" />
    <rsweb:ReportViewer ID="ReportViewer1" runat="server">
    </rsweb:ReportViewer>
</asp:Content>

Web配置程序集部分如下:

<assemblies>
    <add assembly="System.Core,Version=3.5.0.0,PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Web.Extensions,PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="System.Data.DataSetExtensions,PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Xml.Linq,PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Web.DataVisualization,PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="System.Windows.Forms,Version=2.0.0.0,PublicKeyToken=B77A5C561934E089"/>
    <add assembly="Microsoft.ReportViewer.WebForms,PublicKeyToken=B03F5F7F11D50A3A"/>
    <add assembly="Microsoft.ReportViewer.Common,PublicKeyToken=B03F5F7F11D50A3A"/>
</assemblies>

解决方法

我遇到了同样的问题.发生了什么事情是将报表加载例程放在Page_Load上,并没有将其包装到if(!IsPostBack)中. ReportViewer对页面进行了POST,这是触发Page_Load并重新加载报告,不知何故搞砸了.将所有内容放在if(!IsPostBack)之后,就像一个魅力一样.

相关文章

引言 本文从Linux小白的视角, 在CentOS 7.x服务器上搭建一个...
引言: 多线程编程/异步编程非常复杂,有很多概念和工具需要...
一. 宏观概念 ASP.NET Core Middleware是在应用程序处理管道...
背景 在.Net和C#中运行异步代码相当简单,因为我们有时候需要...
HTTP基本认证 在HTTP中,HTTP基本认证(Basic Authenticatio...
1.Linq 执行多列排序 OrderBy的意义是按照指定顺序排序,连续...