我正在我的 ASP.Net Web 应用程序上使用 ReportViewer 控件,在那里我有一个主报表,它通过钻取调用许多子报表。当我第一次访问子报表时,它工作正常。但是,当我回到主报表,然后尝试转到另一个子报表时,我有:
"尚未指定某些参数或凭据"。
仅当我从客户端运行应用程序时,才会发生此问题,因为当我在服务器上运行它时,它工作正常。
这是我的代码(省略不必要的行):
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack )
{
string uri = ConfigurationManager.AppSettings["Server"].ToString();
ReportViewer1.ServerReport.ReportServerUrl = new Uri(uri);
ReportViewer1.ServerReport.ReportPath = @"/RepNet/LaFuenteOperaciones";
List<ReportParameter> parameters = new List<ReportParameter>();
parameters.Add(new ReportParameter("Date", Session["Date"].ToString()));
parameters.Add(new ReportParameter("Id", Session["Id"].ToString()));
ReportViewer1.ServerReport.SetParameters(parameters);
ReportViewer1.ProcessingMode = ProcessingMode.Remote;
ReportViewer1.ShowParameterPrompts = false;
ReportViewer1.ShowPromptAreaButton = false;
ReportViewer1.ServerReport.Refresh();
}
}
您是否将子报表链接到父报表。
在这种情况下,参数仅传递给主报告,但由于子报告与主报告没有链接,因此会引发此类错误。