我在内部TabContainer TabPanel中有一个ReportViewer,它是我在Page Init事件中动态生成的。我加载OnActiveTabChanged事件的报告,并希望刷新SelectedIndexChanged事件的报告。
当我更改DropDownList的选定值时,However报告不会更改。
注意:我调试SelectedIndexChanged中的loadReport并正确执行。
以下是我的代码的一部分。
protected void DDL_SelectedIndexChanged(object sender, EventArgs e)
{
DropDownList DDL = (DropDownList)sender;
ReportViewer rptViewer = (ReportViewer)DDL.Parent.FindControl("rptDateElectricity");
if (rptViewer == null)
{
rptViewer = new ReportViewer();
rptViewer.ID = "rpt" + "Date" + "Electricity"
rptViewer.Width = Unit.Pixel(1100);
loadReport(rptViewer, DDL, "Electricity", "Date");
DDL.Parent.Controls.Add(rptViewer);
}
}
protected void TCInner_OnActiveTabChanged(object sender, EventArgs e)
{
..............................
..............................
ReportViewer rptViewer = (ReportViewer)DDL.Parent.FindControl("rptDateElectricity");
if (rptViewer == null)
{
rptViewer = new ReportViewer();
rptViewer.ID = "rpt" + "Date" + "Electricity"
rptViewer.Width = Unit.Pixel(1100);
loadReport(rptViewer, DDL, "Electricity", "Date");
loadReport(rptViewer, DDL, monitoringObject, timePeriod);
}
}
}
我认为这是视图状态的问题
我尝试为报表查看器设置EnableViewState false
当我这样做的时候,我得到了以下运行时错误:
"Microsoft JScript运行时错误:Sys.WebForms.PageRequestManagerServerErrorException:更新以前只能在ID为"ReportArea"的UpdatePanel上调用方法提供"有人能解决这个问题吗?
提前感谢。
当我告诉我的报告自动刷新时,我也遇到了同样的错误,这是由于我插入了一些javascript来覆盖ReportViewer的一些javascript(Microsoft.Reporting.WebFormsClient.ReportAreaAsyncLoad),以修复我之前遇到的错误。我的自定义javascript触发了额外的异步加载回发。我想自动刷新与此相冲突。
但不确定这是否是你问题的原因。