C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 170 を表示中)
■97863 / )  Re[3]: 動的に追加したユーザーコントロールのイベントが取得できない
□投稿者/ WebSurfer (2307回)-(2021/07/30(Fri) 13:54:20)
No97849 (emi さん) に返信

> 「PostBack の際にも動的に追加」はしていて、想定通りにユーザーコントロールの追加と値の保持は出来ています。

質問者さんのコードを見てみましたが、やはりそこのところに問題があるようです。

自分の環境で検証してみましたが、質問者さんが行ったようにポストバックの際 Session からユーザーコントロール
を取得して配置した場合はユーザーコントロールのボタンクリックイベントは発生しません。

初期画面や[条件追加]ボタンクリックで生成したのと同様に Page.LoadControl で生成して配置する必要がありま
す。

Session からユーザーコントロールを取得した場合は ViewState がロードできないということによるのではないかと
思います(想像です)。

なお、No97852 で述べたユーザーコントロールの生成のタイミングが Page_Load か Page_Init は今回のケースでは
影響ないようです。ただ、場合によってはその問題が影響することもありますので、動的なコントロールの追加は、
Microsoft の推奨のとおり Page_Init で行うのが良いと思います。

返信 編集キー/


管理者用

- Child Tree -