ReportViewer 10,ASPX,分页问题

时间:2013-05-03 17:17:34

标签: asp.net reporting-services ssrs-2008

我有一个小型的网络项目,该项目的唯一目的是为更大的应用程序存储和生成报告。

我有一个页面" 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计算机上也出现相同的错误。

有任何建议或已知修复方法吗?

2 个答案:

答案 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