报告查看器配置错误 - 在“查看网页来源”中

时间:2012-07-10 17:53:17

标签: c# reportviewer

当我选中网页的查看源代码时,我发现以下错误消息,但网页工作正常。我们的测试负责人在执行断言测试时发现错误。

报告查看器配置错误:

  

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

8 个答案:

答案 0 :(得分:7)

The following was my solution:

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

答案 1 :(得分: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>

答案 2 :(得分:3)

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

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

答案 3 :(得分: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>

答案 4 :(得分: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>

答案 5 :(得分:1)

我也面临报告查看器无法显示的同样问题。从浏览器设置显示属性后,我得到了错误&#34;报告查看器配置错误&#34;。

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

答案 6 :(得分:1)

以下代码如下

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

答案 7 :(得分:0)

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

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

您可以查看similar problem