【发布时间】: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