2009-07-29 31 views
0

ユーザーコントロールのAddedControlイベントでメインページオブジェクトにアクセスするにはどうすればよいですか?ASP.NETユーザーコントロール - AddedControlのメインページオブジェクトへのアクセス

私はコード行を実行しようとしています ScriptManager oSCM = ScriptManager.GetCurrent(this.Page);このイベントでは が返されますが、親ページにscriptmanagerがあってもnullが返されます。 WUCのOnInitイベントでは、同じコード行でscriptmangerオブジェクトが返されますが、addcontrolでは返されません。そのイベントでページオブジェクトを間違って使用していますか?別の方法でアクセスする必要がありますか?

乾杯

MH

答えて

1

あなたは、ASP.NETページのライフサイクルを見てみSO上で、この記事を参照してくださいする必要があり、それへの私の答え:

Where should stuff be done in an ASP.NET page

+0

ありがとうしかし、私は初期の部分のもう少し詳細なビューが必要だと思います。私は多くのデバッグを行いました(ユーザーコントロールで見ることができるすべてのイベントをオーバーライドしているので、いつ発射されるのか分かります)、私はAddParsedSubObjectとAddedControlステージを通過することができます。パネルの後に挿入したコントロールをロードするときにパネルを更新するが、エラーが発生したときにアンロードイベントにヒットするので、「スクリプトマネージャが存在しない」エラーが発生する場所とそのページがインスタンス化されるかどうかを知る必要があるpoint ..... –

+0

....だから、ScriptManager.GetCurrent(Page)メソッドを使用して、SCMがインスタンス化されているかどうかを確認し、そうでない場合は追加することができます。問題は、AddedControl段階(私が言及したと思う)でページがまだヌルなので、それ以降はそれを行う必要があるということです。私は、「No scriptmanager」エラーが発生するまでページが利用可能になっていない可能性があるので、私は鶏卵のシナリオになる可能性があると思うので、スクリプトマネージャーの存在をテストすることはできません。エラーが発生する前に挿入してください。または、SCM GetCurrentメソッド(またはそれに類するもの)を使用する方法があります。 –

+0

....ユーザーコントロールから、これまでのスクリプトマネージャの存在を確認してくださいステージ? 乾杯 MH –

関連する問題