当我选中网页的查看源代码时,我发现以下错误消息,但网页工作正常。我们的测试负责人在执行断言测试时发现错误。
报告查看器配置错误:
报表查看器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的更改已存在于我们的配置文件中。
答案 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。