ASP.NETページのライフサイクルのASP.NETプログラミングモデル、彼らは何ですか?それは何が含まれていますか?ASP.NET ASP.NETページのライフサイクルの特定のプロセスのプログラミングモデルは、何でしょうか?ここではそれを説明し始めます。 ASP.NETページはページは、ライフサイクル、ライフサイクルにおける一連の処理ステップを通過します、実行されます。これらの手順は、イベントハンドラのコード、およびレンダリングを実行し、状態を復元し、維持するために、コントロールをインスタンス化、初期化が含まれます。我々は望ましい結果を達成するために、ライフサイクルの適切な段階でコードを書くことができるように、ページのライフサイクルが非常に重要であることを理解。カスタムコントロールを開発する場合、適切に制御し、コントロールのプロパティと、すべてのコントロールの動作論理演算を移入するためのビューステートデータの使用を初期化するように加えて、あなたは、ページのライフサイクルに精通している必要があります。 一連のステップのライフサイクルのページASP.NETプログラミングモデル:ページの初期化、表示するイベントハンドラのコードを実行し、状態を復元し、維持するために、コントロールをインスタンス化します。適切な段階で必要なコードを実行するために、そうページのライフサイクルに非常に精通しています。ページ、ページごとに定義されたトリガイベントのライフサイクルのすべての段階で、プログラムを実行することによって、我々は、コードの開発にライフイベントのページに必要な 1、ページ要求のASP.NETページのライフサイクルは:ユーザーがページを要求すると、ページのライフサイクルの前に発生し、ASP.NETページのライフサイクルを開始するかどうかを決定するために分析して、コンパイルページの必要性を決定する、またはあなたができない場合実行中のページの場合に対応するためにページキャッシュを送信します。 2、ASP.NETページのライフサイクルの開始:のような、ページのプロパティを設定:するHttpContextと他の特性、UICultureプロパティの設定ページ、この段階で、必要なページを決定するためには、ポストバック要求または新しい要求と設定IsPostBackプロパティプロパティです。 初期の3ページのASP.NETページのライフサイクル:すべての被験者をロードし、コントロールの生成とユニークIDを設定します。 注意:ViewStateは、値がまだコントロールでControlStateを内にロードされていません。それは、この時点でアクセスすることができるコントロールが、値が間違っている可能性があり、ページがポストバックであれば、ポストバックデータがロードされていません。 4、ASP.NETページのライフサイクルをロード:現在のリクエストが制御負荷のViewState値とControlStateをするために、ポストバック要求である場合。 5、認証のASP.NETページのライフサイクル:すべてのバリデータを呼び出すには、IsValidプロパティの検証コントロールとページを設定Validateメソッドを、制御します。 6は、プロセスのポストバックイベントのASP.NETページのライフサイクル:要求がポストバック要求である場合は、すべてのイベントハンドラが呼び出されます。 7プレゼンテーションの、ASP.NETページのライフサイクル:ページ上のすべてのコントロールの最初とビューステートを保存し、各コントロールのRenderメソッドを呼び出して、それがテキストライターを提供しますが、入力コントロールのページに書き込み、 OutputStreamの応答性。 アンロードの8、ASP.NETページのライフサイクル:仕上げのレンダリング、およびアンロードを呼び出した後のページを破棄する準備ができて、クライアントのページに送信されました。これに応答し、要求、および:アンインストールは、次のような属性。 ここではASP.NETページのライフサイクル図のASP.NETプログラミングモデルであります 以下は、最初のページのASP.NETプロセスであり 下面对其中的一些过程作下描述: 对应的事件Page.Init 2. Load ViewState 没有对应的事件 3.Load Postback data; //每次这里的都回执行CODE HERE 对应的事件Page.Load 5. Handle control events; 没有对应的事件(我们自己的事件函数都包括在这个过程里比如上面的ListBox1_SelectedIndexChanged) 6. Page_ 对应的事件时Page.PreRender 7. Page_Render(); 对应的事件Page.Render 8. Unload event; 对应的事件Page.Unload 9. Dispose method called; 对应的事件Dispose 以上就是ASP.NET页面周期的描述。 注意上面灰色背景的文字,如果一个过程中有对应的事件,我们可以自己定义一个函数(当然先在MSDN中找到函数原型),然后在 このよう2.LoadのViewStateなど、該当するイベントのためのいくつかのプロセスは、我々は、オーバーライドは(オブジェクト保護LoadViewStateを無効にページの仮想関数をオーバーライドすることができますsavedStateを);のような、自分自身の制御コードを追加しますが、対応するベースクラスに落ちるべきではありません: |
ます。https://www.cnblogs.com/Tim_Liu/archive/2011/04/26/2029507.htmlで再現