私はこのコードを持っています:
Control ctrl = Page.LoadControl("~/UserControls/ReportControl.ascx");
IReport rpt = (IReport)ctrl;
rpt.LoadData();
Panel.Controls.Add(ctrl);
これまでのところ、すべてが期待どおりに機能しています。ロードされたコントロールを取得し、インターフェイスにキャストしてメソッドを使用するには、クリック ポストバック イベントが必要でButton
、これを試しました。
if (Panel.Controls.Count > 0) {
Control ctrl = Panel.Controls[0] as Control;
IReport rpt = ctrl as IReport;
string result = rpt.AMethodToInvoke();
}
このキャストは発生せず、パネルから取得したコントロールはLiteralContol
.
何か案は?ありがとうございました。