javascript - .net ReportViewer javascript 错误

标签 javascript .net user-controls reportviewer

我在 Web 表单中使用 ReportViewer(2012,版本 11)用户控件,该表单加载到 MVC 单页应用程序的 iframe 中。我发现我运行了一个报告并且它工作正常,但是然后我转到另一个报告它不会运行直到我刷新。

之前带有 iframe 的内容部分已从 dom 中删除,因此我看不出它会如何干扰下一个报告。我的猜测是报表查看器污染了全局命名空间。

无论如何错误是

TypeError: cs is null
return cs.getPropertyValue('direction');

有谁知道这件事,或者是否有一种方法可以在 reportviewer 之后进行清理,或者是否有更好的 reportviewer 控件?

最佳答案

我的申请和你的类似。我正在使用 jQuery 将 ReportViewer 加载到 DOM 元素(嵌入到 iframe 中)。

类似的东西:

var formargs = $("#reportArgsForm").serialize();
var windowheight = $("#content").height() - 8;
var link = '<iframe id="report_iframe" style="height:' + windowheight + 'px;width:99%;overflow: visible;" src="Reports/SimpleReportViewer.aspx?' + formargs + '"></iframe>';

$("#tabs").tabs("option", "active", 1);
$("#tabs-display").html(link);

如果您注意到,报告实际上显示在它自己的 jQuery-UI 选项卡中。我遇到了同样的错误,因为我已经升级到 jQuery-UI 1.10.1 和选项卡 "select" method wasn't working any more .

在我的案例中,错误深埋在 Microsoft.Reporting.WebFormsClient._InternalReportViewer.GetRTLDirection 中。报表查看器代码试图在某些元素上调用 window.getComputedStyle,但它返回 null。它为 null,因为传入的元素不可见。

一旦我修复了 jQuery-UI 选项卡切换问题,ReportViewer 错误(“cs is null”)就消失了。

关于javascript - .net ReportViewer javascript 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14219521/

相关文章:

javascript - 外部目标 (URL) 并展开面板/ Accordion Bootstrap。不工作?

php - 如何在 jQuery 代码中转义 "["字符

c# - 如何禁用 WPF TreeView 中的双击行为?

c# - 表模式作为数据表?

c# - System.Text.Json:如何为枚举值指定自定义名称?

c# - 如何创建可重用的用户控件并将命令绑​​定到它?

javascript - 如何在 Angular 2 中使用谷歌地图

javascript - 尝试使用第一个选择结果时,TypeError : $(. ..).data(...) 未定义

c# - 将 UserControl 显示为弹出窗口

c# - 如何在 XAML 中分配 Control 类型的属性 - 错误