検索
ホームページバックエンド開発C#.Net チュートリアルAsp.NET ページ イベントが読み込まれる順序は何ですか?

この記事では、Asp.NET ページでのイベントの読み込みシーケンスについて、画像、テキスト、サンプル コードを通じて詳しく紹介します。必要な方はこの手順に従ってください。以下で一緒に学びましょう。

この記事では、主に Asp.NET ページ イベントの読み込みシーケンスに関する関連コンテンツを紹介し、参考と学習のために共有します。早速、

ASP の詳細な概要を見てみましょう。レイアウト ページとコンテンツ ページの NET Mother イベント

マスター ページとコンテンツ ページの両方にコントロールのイベント ハンドラーを含めることができることはわかっています。コントロールの場合、コンテンツ ページのコントロールはコンテンツ ページでイベントを発生させ、マスター ページのコントロールはマスター ページでイベントを発生させます。コントロール イベントはコンテンツ ページからマスター ページには送信されません。また、マスター ページ コントロールからのイベントはコンテンツ ページでは処理できず、独自のイベント内でのみ処理されます。

マスター ページ (Master) とコンテンツ ページ (ContentPage) がマージされた後のイベントの順序は次のとおりです:


Master页面控件 Init 事件。
ContentPage页面控件 Init 事件。
Master页  Init 事件。
ContentPage页 Init 事件。
ContentPage页 Load 事件。
Master页  Load 事件。
ContentPage页面控件 Load 事件。
ContentPage页面 PreRender 事件。
Master页面  PreRender 事件。
Master页面控件 PreRender 事件。
ContentPage页面控件 PreRender 事件。

マスター ページとコンテンツ ページのイベントの順序はページにとって重要ではありません開発者。ただし、特定のイベントの可用性に依存するイベント ハンドラーを作成する場合は、マスター ページとコンテンツ ページでのイベントの順序を理解すると役立ちます。

Asp.Net でのページ イベントの読み込みシーケンス

1。単一のページが実行されると、イベントは次の順序でアクティブ化されます:


Page.PreInit
Page.Init
Page.InitComplite
Page.PreLoad
Page.Load
Page.LoadComplete
Page.PreRender
Page.PreRenderComplete

2。 BasePage:System.Web.UI.Page などのページでは、ログインしているかどうか、権限があるかどうかなどの検証機能が BasePage に追加されており、他のページは BasePage を継承しており、BasePage と最終ページのイベント アクティベーション シーケンスは次のようになります。 :


BasePage.PreInit
Page.PreInit
BasePage.Init
Page.Init
BasePage.InitComplite
Page.InitComplite
BasePage.PreLoad
Page.PreLoad
BasePage.Load
Page.Load
BasePage.LoadComplete
Page.LoadComplete
BasePage.PreRender
Page.PreRender
BasePage.PreRenderComplete
Page.PreRenderComplete

3. MasterPage が削除された場合、MasterPage 内のイベントと ContentPage 内のイベントが次の順序でアクティブ化されることに注意してください。マスター内の PreInit イベントではありません。


4. ContentPage が BasePage を継承する場合、各イベントの実行順序は次のようになります:

ContentPage.PreInit
Master.Init
ContentPage.Init
ContentPage.InitComplite
ContentPage.PreLoad
ContentPage.Load
Master.Load
ContentPage.LoadComplete
ContentPage.PreRender
Master.PreRender
ContentPage.PreRenderComplete

継承されたページに継承がある場合は、最初に継承されたページをロードし、次にそれ自体をロードすることを覚えておいてください。最初に継承ページの継承をロードします。


イベントハンドラ名

発生時刻

Page_InitWebフォームのビューステートにサーバーコントロールをロードし、初期化します。 これはフォームのライフサイクルの最初のステップです Page_Load は、サーバー コントロールを Page オブジェクトに読み込みます。この時点でビュー ステート情報が利用できるため、ここでコードを使用してスペースの設定を変更したり、ページにテキストを表示したりできます。 Page_PreRenderアプリケーションはページをレンダリングしようとしていますページがメモリからアンロードされます未処理の例外が発生しましたトランザクション終了トランザクションが受け入れられましたPage_CommitTransaction サーバースペースとデータソースがバンドルされていますページオブジェクトがメモリから解放されます。これは、Page オブジェクトのライフサイクルの最後のイベントです

Init、Load、PreRender イベントの実行シーケンス:

1) コントロールの Init イベント

2) コントロールが配置されているページの Init イベント

3) コントロールが配置されているページの Load イベントが配置されています

4) Control Load イベント

5) コントロールが配置されているページの PreRender イベント

6) コントロールの PreRender イベント

個人的な調査によるいくつかの経験: (次の 2 つの点は、自作のページを構築して関連イベントを書き換えることで確認できます)

1. Init イベントは、最も内側のコントロール (ユーザー コントロールなど) から最も外側のコントロール (ページ) まで、および Load や PreRender などのその他のイベントが発生します。最も外側のコントロールから最も内側のコントロールまで引き上げられます。

2. コントロール間の同じイベントの実行順序は、ページ上のコントロールの位置に応じて、左から右、上から下になります。

注:

1. ユーザー コントロールは、ページ上のコントロールとしてもみなされることに注意してください。

2. ユーザー コントロール自体とそれに含まれるものを別の特別なページとして表示します。同じルールに従います。

3. クライアント本体オブジェクトの onload イベントがクライアント プログラム (JavaScript など) で使用されている場合、このクライアント イベントは最後に実行される、つまりサーバー側のすべてのイベントが終了した後に実行されることに注意してください。処刑された。

4. Master およびユーザー定義コントロールには PreInit イベントと OnComplete イベントはありません。Master 自体はユーザー コントロールの usercontrol であり、usercontrol は TemplateControl を継承し、TemplateControl は Control を継承します。Control の書き換え可能なイベントを見てみましょう (部分的)。スクリーンショット)、この公式ドキュメントも参照できます: https://referencesource.microsoft.com/#System.Web/UI/Control.cs,87dbac93d9749fa2。


Page_Unload

Page_Error

Page_AbortTransaction

Page_CommitTransaction

Page_DataBinding

Page_Disowned

以上がAsp.NET ページ イベントが読み込まれる順序は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
汎用性のある.NET言語としてのC#:アプリケーションと例汎用性のある.NET言語としてのC#:アプリケーションと例Apr 26, 2025 am 12:26 AM

C#は、エンタープライズレベルのアプリケーション、ゲーム開発、モバイルアプリケーション、Web開発で広く使用されています。 1)エンタープライズレベルのアプリケーションでは、C#がasp.netcoreにWebAPIを開発するためによく使用されます。 2)ゲーム開発では、C#がUnityエンジンと組み合わされて、ロールコントロールやその他の機能を実現します。 3)C#は、コードの柔軟性とアプリケーションのパフォーマンスを改善するために、多型と非同期プログラミングをサポートします。

Web、デスクトップ、モバイル開発用のC#.NETWeb、デスクトップ、モバイル開発用のC#.NETApr 25, 2025 am 12:01 AM

C#と.NETは、Web、デスクトップ、モバイル開発に適しています。 1)Web開発では、ASP.Netcoreがクロスプラットフォーム開発をサポートしています。 2)デスクトップ開発では、さまざまなニーズに適したWPFとWINFORMSを使用します。 3)モバイル開発は、Xamarinを介したクロスプラットフォームアプリケーションを実現します。

C#.NETエコシステム:フレームワーク、ライブラリ、およびツールC#.NETエコシステム:フレームワーク、ライブラリ、およびツールApr 24, 2025 am 12:02 AM

C#.NETエコシステムは、開発者がアプリケーションを効率的に構築できるようにするための豊富なフレームワークとライブラリを提供します。 1.ASP.NETCOREは、高性能Webアプリケーションの構築に使用されます。2.EntityFrameWorkCoreは、データベース操作に使用されます。これらのツールの使用とベストプラクティスを理解することにより、開発者はアプリケーションの品質とパフォーマンスを向上させることができます。

azure/awsへのc#.netアプリケーションの展開:ステップバイステップガイドazure/awsへのc#.netアプリケーションの展開:ステップバイステップガイドApr 23, 2025 am 12:06 AM

c#.netアプリをAzureまたはAWSに展開する方法は?答えは、AzureAppServiceとAwselasticBeanStalkを使用することです。 1。Azureでは、AzureAppServiceとAzurePipelinesを使用して展開を自動化します。 2。AWSでは、Amazon ElasticBeanstalkとAwslambdaを使用して、展開とサーバーレス計算を実装します。

C#.NET:強力なプログラミング言語の紹介C#.NET:強力なプログラミング言語の紹介Apr 22, 2025 am 12:04 AM

C#と.NETの組み合わせにより、開発者に強力なプログラミング環境を提供します。 1)C#は、多型と非同期プログラミングをサポートします。2).NETは、クロスプラットフォーム機能と同時処理メカニズムを提供し、デスクトップ、Web、モバイルアプリケーション開発で広く使用されています。

.NETフレームワーク対C#:用語のデコード.NETフレームワーク対C#:用語のデコードApr 21, 2025 am 12:05 AM

.NetFrameworkはソフトウェアフレームワークであり、C#はプログラミング言語です。 1..netframeworkは、デスクトップ、Web、モバイルアプリケーションの開発をサポートするライブラリとサービスを提供します。 2.C#は.NetFrameWork用に設計されており、最新のプログラミング機能をサポートしています。 3..NetFrameworkはCLRを介してコード実行を管理し、C#コードはILにコンパイルされ、CLRによって実行されます。 4. .NetFrameWorkを使用してアプリケーションをすばやく開発し、C#はLINQなどの高度な関数を提供します。 5.一般的なエラーには、タイプ変換と非同期プログラミングデッドロックが含まれます。 VisualStudioツールは、デバッグに必要です。

C#.NETの分解:初心者の概要C#.NETの分解:初心者の概要Apr 20, 2025 am 12:11 AM

C#は、Microsoftが開発した最新のオブジェクト指向プログラミング言語であり、.NETはMicrosoftが提供する開発フレームワークです。 C#は、CのパフォーマンスとJavaのシンプルさを組み合わせており、さまざまなアプリケーションの構築に適しています。 .NETフレームワークは、複数の言語をサポートし、ガベージコレクションメカニズムを提供し、メモリ管理を簡素化します。

C#と.NETランタイム:それらがどのように連携するかC#と.NETランタイム:それらがどのように連携するかApr 19, 2025 am 12:04 AM

C#と.NETランタイムは密接に連携して、開発者に効率的で強力なプラットフォームの開発機能に力を与えます。 1)C#は、.NETフレームワークとシームレスに統合するように設計されたタイプセーフおよびオブジェクト指向のプログラミング言語です。 2).NETランタイムは、C#コードの実行を管理し、ガベージコレクション、タイプの安全性、その他のサービスを提供し、効率的でクロスプラットフォームの操作を保証します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター