我在 Page Init 事件中动态生成的内部 TabContainer TabPanel 中有一个 ReportViewer。我加载有关 OnActiveTabChanged 事件的报告,并且我想刷新有关 SelectedIndexChanged 事件的报告。
当我更改 DropDownList 的选定值时,报告不会发生变化。
注意:我调试并且 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 上调用 Update 方法。” 任何人都可以解决这个问题。
先谢谢了。