ユーザー コントロール ハンドルで NullReferenceException が発生する
-
09-06-2019 - |
質問
Asp.NET アプリケーション (VS2008、Framework 2.0) があります。次のようなユーザー コントロールの 1 つにプロパティを設定しようとすると、
myUserControl.SomeProperty = someValue;
を取得します NullReferenceException
. 。デバッグしてみてわかったのですが、 myUserControl
無効である。ユーザー コントロール ハンドルが null になる可能性はどのようにありますか?これを修正するにはどうすればよいですか?または原因を見つけるにはどうすればよいですか?
解決
どこからプロパティにアクセスしようとしていますか?onInit を使用している場合は、コントロールがまだ読み込まれていない可能性があります。
他のヒント
コードのどこでこれを実行しようとしているのでしょうか?コントロールへのアクセスを試みるのが早すぎる可能性があります。 ページのライフサイクル そしてそれはまだインスタンス化されていません。
実行時に UserControl を作成した場合 (ControlCollection.Add を通じて)、ポストバック時にも作成する必要があります。
別のケースとして、UserControl がdesigner.cs ページと一致しない可能性があります。
外部のユーザー コントロールのマークアップからプロパティを設定しようとしていました。プロパティを OnLoad に移すと、機能しました。
所属していません StackOverflow