【发布时间】:2010-08-11 16:00:50
【问题描述】:
我最近开始使用 SSRS 2008 和 ASP.Net。 我必须编写一份具有 3 个不同详细程度的报告。因此,我决定最好的解决方案是开发 3 个不同的报告并提供一些钻取机制以允许导航。为此,我将其中一个文本框的 'Action' 属性设置为 'Go to report' 并设置正确的 url。
需要首先验证传递给报告的参数。因此,为了灵活性和更好的用户体验,我让用户使用标准的 ASP.Net 控件输入参数。当用户单击我的自定义按钮“显示报告”时,将执行以下代码:
ReportViewer2.ServerReport.ReportPath = ".. my report path ..";
ReportViewer2.ServerReport.ReportServerUrl = new Uri(".. my report url ..");
ReportParameter p1 = new ReportParameter("dateStart", dateStart.ToString());
ReportParameter p2 = new ReportParameter("dateEnd", dateEnd.ToString());
ReportViewer2.ServerReport.SetParameters(p1);
ReportViewer2.ServerReport.SetParameters(p2);
ReportViewer2.ServerReport.Refresh();
然后显示报告,但导航到其他报告的链接不起作用。 您可能会注意到添加的参数是可见的,因此让我按下嵌入在报告查看器中的“查看报告”按钮。如果我这样做,报告会再次呈现,然后一切正常。这就像 ReportViewer.ServerReport.Refresh() 方法缺少一些东西。
这是个问题,因为需求说明需要隐藏参数。
当我从 VS 或报告服务器中执行报告时,链接可以正常工作,但在这些情况下,我总是必须按下标准的“查看报告”按钮。
这是 ReportViewer 控件的错误还是我在这里遗漏了什么? 提前致谢。
问候,
贡萨洛。
【问题讨论】: