我有一个小型的网络项目,该项目的唯一目的是为更大的应用程序存储和生成报告。
我有一个页面" ReportManager.aspx"它只有一个ReportViewer(10.0)控件。
<div style="width:auto;">
<form id="Form1" runat="server" style="width:100%; height: 100%;">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<rsweb:reportviewer id="ReportViewer1" runat="server" Width="100%" Height="100%" AsyncRendering="false" SizeToReportContent="true"></rsweb:reportviewer>
</form>
</div>
<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
if (IsPostBack)
return;
ReportViewer1.ProcessingMode = ProcessingMode.Remote;
ReportViewer1.ServerReport.ReportServerUrl = new Uri("http://localhost/ReportServer");
ReportViewer1.ServerReport.ReportPath = "/SSRSReport";
ReportParameter param = new ReportParameter("effective_date", "4/22/2013");
ReportViewer1.ServerReport.SetParameters(param);
ReportViewer1.PageCountMode = PageCountMode.Actual;
}
</script>
在运行时更改reportviewer控件上的页面会产生错误。
错误在于: ?Reserved.ReportViewerWebControl.axd OPTYPE =资源&安培;版本= 10.0.30319.1&安培;名称= ViewerScript
在第3559行,看起来像这样:
// Remove the current STYLE element, if it already exists.
if (oldStyleElement != null)
headElement.removeChild(oldStyleElement);
headElement.removeChild(oldStyleElement);
是错误显示htmlfile的行:无效的参数。休息|继续|忽略。
点击&#34;继续&#34;导致报表呈现没有任何样式。点击&#34;忽略&#34;允许报告正确呈现。
我正在运行Windows 2012 Server,Visual Studio 2012 Premium和IE8。 Win 7计算机上也出现相同的错误。
有任何建议或已知修复方法吗?
答案 0 :(得分:0)
我的报告也在MVC应用程序中。我实际上是在不久前解决了这个问题。我想我通过删除以下几行来修复它:
ReportViewer1.ProcessingMode = ProcessingMode.Remote;
ReportViewer1.ServerReport.ReportServerUrl = new Uri("http://localhost/ReportServer");
ReportViewer1.ServerReport.ReportPath = "/SSRSReport";
ReportViewer1.PageCountMode = PageCountMode.Actual;
我更改了代码以将所有数据存储在标记中。
我做的另一件事是添加 ReportViewer1.ServerReport.Refresh()在ReportViewer1.ServerReport.SetParameters(param)下面。
在我做出这些改变之后,一切都开始有效了。
答案 1 :(得分:0)
虽然可疑会有所帮助,但我尝试尽可能多地删除代码隐藏,但是这并不能解决这个问题。
但是,这是我们应用中的解决方案:
托管ReportViewer控件的.aspx页面缺少其
<body>
标记。
这一切 !!
反高潮,我知道,但显然这会导致IE8(至少)扒手
headElement.removeChild(oldStyleElement);
我很好奇,如果你的应用程序中做同样的事情会带来错误。
我通过Google找到的只有少数资源处理这个问题,我无法相信其中任何一个都没有提到:-x