我的應用程序與您的應用程序類似。我正在使用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。它是空的,因爲傳入的元素不可見。
一旦我修復了jQuery-UI標籤切換問題,ReportViewer錯誤(「cs is null」)就消失了。
沒有幫助我害怕,但是我現在已經避免了股票報表查看器的許多問題 - 如果您使用實體和存儲庫,它會變得更糟,因爲它不支持lambdas(至少不是在2010年,上次我檢查)。祝你好運雖然 – Basic
@Basic有沒有其他的選擇呢?也許有些開源的東西。不可否認的是,最終我們使用Telerik報告查看器來獲得POS – Raif
。不是免費的(約600美元/用戶,我認爲),但值得在開發時節省開銷。這真是太棒了,但可能並不是你想要的。不幸的是,我還沒有找到一個體面的操作系統替代方案(但是如果你碰到一個,請告訴我) – Basic