【问题标题】:The report parameter 'ReportParameter1' is read-only and cannot be modified. (rsReadOnlyReportParameter)报表参数“ReportParameter1”是只读的,不能修改。 (rsReadOnlyReportParameter)
【发布时间】:2018-11-08 09:05:22
【问题描述】:

我有一个网页,其中有报告名称的锚标记。单击报告名称(锚标记)时,我有将报告 URL 传递给后端方法的 ajax 调用。在该方法中,我提供了用于访问报告并将报告显示为部分视图的凭据。下面是代码:

public ActionResult Report(string rptPath)
        {
            ReportViewer rptViewer = new ReportViewer();
            rptViewer.ProcessingMode = ProcessingMode.Remote;
            rptViewer.SizeToReportContent = true;
            rptViewer.ZoomMode = ZoomMode.PageWidth;
            rptViewer.Width = Unit.Percentage(100);
            rptViewer.Height = Unit.Percentage(1000);
            rptViewer.AsyncRendering = true;
            rptViewer.ServerReport.ReportServerUrl = new Uri(xxxx);

            rptViewer.ServerReport.ReportPath = rptPath;
            IReportServerCredentials irsc = new CustomReportCredentials(uname, pword, domain);
            rptViewer.ServerReport.ReportServerCredentials = irsc;

            ViewBag.ReportViewer = rptViewer;
            return PartialView("Report");
        }

我收到The report parameter 'ReportParameter1' is read-only and cannot be modified. (rsReadOnlyReportParameter) 错误。这是一个具有默认值的内部参数,我不想将其更改为可见或隐藏。 有没有办法使用c#代码解决这个问题?

【问题讨论】:

  • 内部参数可能很棘手。我们总是使用隐藏,然后可以在报告中传递或从另一个报告中调用。这里是关于内部参数的一个很好的讨论stackoverflow.com/questions/9844357/…
  • 谢谢。我想知道这个问题的根本原因。因为当我使用 Iframe 和下面的代码来呈现报告时,它工作正常。 'iframe.src = "reportserver/Pages/ReportViewerWebForm.aspx?" + 报告路径 + "&rs:Command=Render";'
  • 是否有任何值被传递给只读参数?如何防止将值传递给只读参数?

标签: c# reporting-services reportviewer


【解决方案1】:

我从 ASP.NET Web 应用程序中收到此错误,最初对我有用的是删除并重新创建参数。值得庆幸的是,删除参数不会自动删除报表中对其的引用,因此只要删除并替换同名参数,就可以了。也就是说,就我而言,我还必须直接通过 SSRS 编辑报告,以确保有“提示”可以由我的后端代码定位/填充。这些步骤中的一个或两个应该可以解决这个问题。

【讨论】:

    猜你喜欢
    • 2011-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多