13

当我检查网页的查看源时,我发现了以下错误消息,但网页工作正常。我们的测试主管在执行断言测试时发现了错误。

报告查看器配置错误:

报告查看器 Web 控制 HTTP 处理程序尚未在应用程序的 web.config 文件中注册。添加

<add verb=" * " path="Reserved.ReportViewerWebControl.axd" 
     type="Microsoft.Reporting.WebForms.HttpHandler,Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" /> 

到 web.config 文件的 system.web/httpHandlers 部分,或添加

<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" />

Internet Information Services 7 或更高版本的 system.webServer/handlers 部分

为什么在查看源代码中出现此错误消息..

注意:此错误消息周围有一个 div 标签,其 style="display:none"

我试图找出原因,但每个人都只讨论了这个错误消息,因为它是在网页中抛出的。建议对 web.config 进行的更改已经存在于我们的配置文件中。

4

8 回答 8

12

以下是我的解决方案:

<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" />
  </httpHandlers>
</system.web>
<system.webServer>
  <handlers>
    <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"/>
  </handlers>
</system.webServer>
于 2016-04-04T18:15:40.390 回答
3

我刚刚签入了一个包含 ReportViewer 控件的应用程序,该应用程序已经投入生产近一年没有任何问题,并且在 HTML 内容中找到了相同的内容。

因此,考虑到它div没有显示(CSS 属性display:none)这一事实,人们可以猜测它是一条错误消息,如果错误实际发生,它只是为了便于显示而存在。如果错误涉及客户端的某些内容,那么以这种方式实现它会容易得多:显示消息所要做的所有客户端脚本就是更改样式属性——无需操纵 DOM 来附加错误消息,并且不需要在 javascript 中以适当的语言获取本地化错误消息(鉴于 ReportViewer 通过语言包的本地化支持,每种语言都有不同版本的此错误消息 - 在 ASP.NET 上更容易处理与所有其他本地化内容并排放置,而不是在 javascript 中的浏览器中)。是的,我在这里做心理学!:

于 2012-07-11T15:13:29.763 回答
3

为了安全起见,添加 IIS6 和 IIS7 的配置。

IIS6:

<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" />
    </httpHandlers>
</system.web>

IIS7:

<system.webServer>
   <handlers>
      <add verb=" * "
           path="Reserved.ReportViewerWebControl.axd"
           type="Microsoft.Reporting.WebForms.HttpHandler,
                 Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral,
                 PublicKeyToken=b03f5f7f11d50a3a" />
   </handlers>
</system.webServer>
于 2012-07-11T09:38:35.487 回答
2

以下代码如下

<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<handlers>
  <add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
</handlers>

于 2016-10-06T16:20:04.710 回答
1

这就是我在 web.config 中声明报表查看器控件的样子。确保你有类似的东西在那里。如果没有,请添加。控件的版本可能不一样。

<configuration>
    ...
    </system.web>
        ...
        <httpHandlers>
            ...
            <add verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
            ...
        </httpHandlers>
        ...
    </system.web>
    ...
</configuration>
于 2012-07-10T19:31:48.777 回答
1

对于 IIS 7,在 web.config 中使用以下代码

      <system.webServer>
            <handlers>
                   <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" />
            </handlers>
      </system.webServer>
于 2013-07-12T17:08:24.223 回答
1

我也面临同样的报告查看器不显示的问题。从浏览器设置显示属性后,我的错误为“报告查看器配置错误”。

我发现对于某些参数,我发送了不正确的值,即“string .empty”。我更改了代码以向参数发送一些值或空值。现在我的报告可以正常显示。我通过发送正确的报告参数值来报告解决了我的问题。不要错过任何参数来分配正确的值或空值。

于 2016-06-22T09:28:21.137 回答
0

根据 IIS 版本更改 web.config 文件后,尝试添加此代码部分:

  if(!IsPostBack){
        // Here codes about ReportViewer1 
    }

你可以检查这个类似的问题

于 2015-01-06T14:40:44.897 回答