我们有一个报表查看器,它将以下jscript添加到aspx文件中:
//<![CDATA[
Sys.Application.add_init(function() {
if (typeof Microsoft == 'undefined' ||
typeof Microsoft.Reporting == 'undefined' ||
typeof Microsoft.Reporting.WebFormsClient == 'undefined' ||
typeof Microsoft.Reporting.WebFormsClient.ReportViewer == 'undefined')
Sys.UI.DomElement.setVisible($get('ReportViewer1_HttpHandlerMissingErrorMessage'), true);
$create(Microsoft.Reporting.WebFormsClient.ReportViewer, {"_internalViewerId":"ReportViewer1_ctl03","id":"ReportViewer1"}, null, null);
});
但是当它点击
时,它会继续显示脚本错误“Microsoft is undefined”$create(Microsoft.Reporting.WebFormsClient.ReportViewer
线。 我们刚刚从Silverlight 3 / VS2008升级到SL4 VS2010 - 有什么遗漏?
答案 0 :(得分:2)
我得到完全相同的错误。我按照http://otkfounder.blogspot.com/2007/11/solving-reportviewer-rendering-issue-on.html的说明进行操作 但这并没有解决问题,我仍然得到错误。试一试,它可能对你有用......
答案 1 :(得分:2)
只需将此行添加到system.web httpHandlers标记内的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" />
或您正在使用的令牌和版本。
答案 2 :(得分:0)
添加
<add verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0,Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
在<httpHandlers>
中{p}到<system.web>
(如上面的一个答案所示)似乎是一个不赞成的设置,在我尝试之后我立即得到了一个不同的错误:
HTTP错误500.22 - 内部服务器错误
检测到的ASP.NET设置不适用于集成管理管道模式。
我发现新设置必须在这里:
<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>
...
将此内容添加到Web.config
后,该网站立即为我工作。提示如何配置ReportViewer控件本身可以找到here。