1

ユーザー コントロールを含むマスター ページがありますucStatusBarucStatusBarpublic メソッドがありsetStatus()ます。<asp:label />このメソッドは、渡された文字列 param でコントロール内の を更新するだけです。

マスター ページのコンテンツ ページはSummary.aspxです。 Summary.aspxにはユーザー コントロールがありますucNewEvent。フォームucNewEventが保存され、成功または失敗のコードが返されるucStatusBarと、成功または失敗のメッセージで更新しようとしています。呼び出すことはできますucStatusBar.setStatus("success message")が、何らかの理由でラベル b/cのプロパティを設定しようとするとnull、実行時に参照例外が発生します。これはなぜですか?これを達成するためのより良い方法はありますか?setStatusText<asp:label />nullnull

4

1 に答える 1

1

Text推測ですが、イベント内からプロパティを設定しようとしていると思いますPage_Load(またはイベント内から呼び出された関数)。

ASP.NET プログラミングはタイミングがすべてです。つまり、ページのライフ サイクルを本当に理解する必要があります。読み込みが完了する前にユーザー コントロールにアクセスしようとしている可能性があります。

通常、Page_Loadリクエストを解析するためだけにイベントを使用することをお勧めします ( Server.Request)。必要な情報を取得し、クラス変数に保存してから、LoadCompleteまたはPreRenderイベントでコントロール プロパティなどを設定します。

于 2012-10-16T02:18:37.230 に答える