c# - 如何解决 VS 2010 ASP.Net ReportViewer HttpHandler 注册错误?

标签 c# asp.net reportviewer

这让我抓狂——我有一个 Web 应用程序,其中的现有报告可以通过 ReportViewer 版本 10 毫无问题地显示。我们正在扩展该站点,并且我创建了一个基于第二个本地业务对象的新报告(我们正在与 NetSuite Web 服务集成)。页面加载并请求数据,数据传回就好了 - 但是,当尝试创建 ReportViewer 实例时,页面在生成的标记中抛出异常: Microsoft JScript 运行时错误:“Microsoft”未定义。

单击“继续”将加载带有错误文本的页面:

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=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> to the system.web/httpHandlers section of the web.config file, or add <add name="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" /> to the system.webServer/handlers section for Internet Information Services 7 or later.

我正在使用 VS ASP.Net 运行时服务器运行此本地主机。显然,如果我的网络配置不正确,第一个报告查看器无法加载其报告,所以不可能是这样。

我确实成功加载了第二份报告一次,但随后的许多尝试都导致了上述结果。我尝试删除新页面上的报告,然后复制从原始页面运行的报告,指向其报告/数据源,并且得到相同的结果。令人困惑!

最佳答案

我相信您确实需要将 key 添加到您的 web.config 文件中。您还需要在包含报表查看器的 aspx 文件内添加对 ReportView 组件的引用。 Web.config 应该类似于

 <assemblies>
    <add assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
    <add assembly="Microsoft.ReportViewer.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
</assemblies>
<httpHandlers>
   <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false" />
</httpHandlers>

Aspx 文件应该位于 html 顶部附近

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

关于c# - 如何解决 VS 2010 ASP.Net ReportViewer HttpHandler 注册错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3233629/

相关文章:

asp.net - 报告查看器参数未以编程方式设置

c# - XAML 显示默认安装的打印机

c# - 我可以定义一个 Type 变量,表示特定类的子类型的类型是唯一有效值吗?

c# - DateTime.TryParseExact() 返回混合结果

c# - 服务器在 CPU 负载过重或线程池繁忙时出现 WCF 可靠 session 故障

javascript - 需要识别 ASP.net 数据列表的单个记录中特定元素的 ID

c# - 访问/写入 EventLog 时出现问题

reporting-services - ASP.NET 5 中的 SSRS 报告

asp.net - 升级到 Visual Studio 2013 后为 "Failed to load resource: the server responded with a status of 401 (Unauthorized)"

c# - rdlc报表如何横向显示数据?