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: Update メソッドは、Render の前に ID 'ReportArea' を持つ UpdatePanel でのみ呼び出すことができます。」誰でもこれに解決策を与えることができますか?
ありがとうございます。