【问题标题】:Report Viewer Configuration error - In View Source of webpage报告查看器配置错误 - 在查看网页源
【发布时间】:2012-07-10 17:53:16
【问题描述】:

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

报告查看器配置错误:

报表查看器 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 进行的更改已经存在于我们的配置文件中。

【问题讨论】:

  • 您是否在 IIS6 上运行?那是 IIS 7 配置。

标签: c# reportviewer


【解决方案1】:

以下是我的解决方案:

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案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>
      

      【讨论】:

      • 对于 IIS 6 和 IIS7,您粘贴了相同的内容,或者我遗漏了什么?
      • 更正了答案。粘贴 sn-p 时出错。
      【解决方案4】:

      以下代码如下

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

      【讨论】:

        【解决方案5】:

        这就是我在 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>
        

        【讨论】:

        • 执行上述操作时出现HTTP Error 500.23 错误。
        【解决方案6】:

        对于 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>
        

        【讨论】:

          【解决方案7】:

          我也遇到了报表查看器不显示的问题。从浏览器设置显示属性后,我的错误为“报告查看器配置错误”。

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

          【讨论】:

            【解决方案8】:

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

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

            你可以查看这个similar problem

            【讨论】:

              猜你喜欢
              • 2013-05-24
              • 2015-07-10
              • 1970-01-01
              • 1970-01-01
              • 2014-07-08
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2017-08-04
              相关资源
              最近更新 更多