1

私のコードでは、page_load イベントでユーザー コントロール (uc) を読み込みます。uc には、ラベル テキストをテキスト ボックスの値に設定するボタンが含まれています。( lblTest.Text = txtText.Text) 。これは、私のページのロード イベントで正常に動作します。しかし、Init イベントで uc の読み込みを設定すると、ラベルが設定されません。ブレークポイントを設定すると、ボタン イベントが発生し、テキストが (コードで) 設定されますが、ページの読み込みが完了すると、ラベルが空になります。そんなことがあるものか?

4

3 に答える 3

3

コードをさらに下にチェックして、コントロールのテキストが上書きされたり、空のテキストに戻されたりしていないことを確認します。(具体的には、Page_Init、Page_Initが呼び出す関数、およびPage_Loadとその呼び出される関数をさらに調べてください。)

デバッガーで期待どおりの値に設定されていることを確認している場合は、事後に他の何かが変更している可能性があります。それはあなたのコード、ViewState、またはあなたの直接の制御の及ばない何かになります。それを見つければ、それについて何かできるはずです。

于 2009-11-02T13:04:25.370 に答える
1

コントロールがinitに完全に存在するとは思わない。

この記事では、ページ イベント サイクルについて説明し、発生している問題について説明します: http://www.15seconds.com/issue/020102.htm

于 2009-11-02T12:50:56.513 に答える
0

他の回答について少し詳しく説明します。

ASP.Net サイトが起動するたびに、5 つのことが特定の順序で発生します。ルークのリンクを読んでその順序を見つけ、それに応じてプロットしてください.

于 2009-11-02T13:10:53.300 に答える