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

わんくま同盟

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

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


(過去ログ 170 を表示中)
■97871 / )  Re[4]: 動的に追加したユーザーコントロールのイベントが取得できない
□投稿者/ emi (9回)-(2021/07/30(Fri) 19:25:35)
No97863 (WebSurfer さん) に返信
> ■No97849 (emi さん) に返信
>
>>「PostBack の際にも動的に追加」はしていて、想定通りにユーザーコントロールの追加と値の保持は出来ています。
>
> 質問者さんのコードを見てみましたが、やはりそこのところに問題があるようです。
>
> 自分の環境で検証してみましたが、質問者さんが行ったようにポストバックの際 Session からユーザーコントロール
> を取得して配置した場合はユーザーコントロールのボタンクリックイベントは発生しません。
>
> 初期画面や[条件追加]ボタンクリックで生成したのと同様に Page.LoadControl で生成して配置する必要がありま
> す。
>
> Session からユーザーコントロールを取得した場合は ViewState がロードできないということによるのではないかと
> 思います(想像です)。
>
> なお、No97852 で述べたユーザーコントロールの生成のタイミングが Page_Load か Page_Init は今回のケースでは
> 影響ないようです。ただ、場合によってはその問題が影響することもありますので、動的なコントロールの追加は、
> Microsoft の推奨のとおり Page_Init で行うのが良いと思います。
>

ご回答ありがとうございます。
PostBack時もPage.LoadControlで生成して配置した場合、ViewState による値の保持は期待できないと思うのですが、
それは別途、入力値を保存しておいて、プログラムで1つ1つセットしてあげることになるのでしょうか?


返信 編集キー/


管理者用

- Child Tree -