我在内部TabContainer TabPanel中有一个ReportViewer,它是我在Page Init事件中动态生成的。 我在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上调用 渲染。“任何人都可以给出解决方案。
先谢谢。
答案 0 :(得分:0)
当我将报告告诉autoRefresh时,我得到了同样的错误,这是由于我插入的一些javascript来覆盖一些ReportViewer的javascript(Microsoft.Reporting.WebFormsClient._ReportAreaAsyncLoad)以修复错误我会越来越早了。我的自定义JavaScript正在触发额外的异步加载回发。我猜autorefresh与此相冲突。
不确定这是否是导致问题的原因。