6

私は GridViews をかなり頻繁に使用しますが、特定のコードをどこに置くべきか混乱することがあります。すべてのページ イベントを含め、イベントが発生する順序は何ですか?

編集済み: ページと Gridview の間で何が起こるかを理解しようとしています。イベントが交差することはありますか?または、すべてのページ イベントが一度に発生してから、すべての Gridview イベントが発生しますか? GridViews だけでなく、すべてのコントロール - ほとんどの場合、ページと GridView の相互作用。

4

4 に答える 4

7

ページのライフ サイクルについて言及している場合は、こちらで概要を確認できます。

ライフサイクルの概要は次のとおりです。

ページリクエスト

ページ要求は、ページのライフ サイクルが始まる前に発生します。ページがユーザーによって要求されると、ASP.NET は、ページを解析してコンパイルする必要があるかどうか (したがって、ページの有効期間を開始する必要があるかどうか)、またはページを実行せずにキャッシュされたバージョンのページを応答として送信できるかどうかを判断します。

始める

開始ステップでは、Request や Response などのページ プロパティが設定されます。この段階で、ページはリクエストがポストバックか新しいリクエストかを判断し、IsPostBack プロパティを設定します。さらに、開始ステップ中に、ページの UICulture プロパティが設定されます。

ページの初期化

ページの初期化中に、ページ上のコントロールが使用可能になり、各コントロールの UniqueID プロパティが設定されます。テーマもページに適用されます。現在のリクエストがポストバックの場合、ポストバック データはまだ読み込まれておらず、コントロール プロパティの値はビュー ステートの値に復元されていません。

ロード

ロード中、現在のリクエストがポストバックの場合、ビュー ステートとコントロール ステートから復元された情報とともにコントロール プロパティがロードされます。

検証

検証中に、すべての検証コントロールの Validate メソッドが呼び出され、個々の検証コントロールとページの IsValid プロパティが設定されます。

ポストバック イベントの処理

リクエストがポストバックの場合、イベント ハンドラが呼び出されます。

レンダリング

レンダリングの前に、ページとすべてのコントロールのビュー ステートが保存されます。レンダリング フェーズ中に、ページは各コントロールの Render メソッドを呼び出し、その出力をページの Response プロパティの OutputStream に書き込むテキスト ライターを提供します。

アンロード

Unload は、ページが完全にレンダリングされ、クライアントに送信され、破棄する準備が整った後に呼び出されます。この時点で、Response や Request などのページ プロパティがアンロードされ、クリーンアップが実行されます。

GridView イベントについては、ここで見つけることができます。

于 2009-06-05T19:14:39.953 に答える
3
protected void GridView1_Load(object sender, EventArgs e)
{
   System.Diagnostics.Debug.WriteLine("GridView1_Load");
}
protected void GridView1_DataBinding(object sender, EventArgs e)
{
   System.Diagnostics.Debug.WriteLine("GridView1_DataBinding");
}
protected void GridView1_DataBound(object sender, EventArgs e)
{
   System.Diagnostics.Debug.WriteLine("GridView1_DataBound");
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
   System.Diagnostics.Debug.WriteLine("GridView1_RowDataBound");
}
于 2009-06-05T19:12:38.850 に答える
2

http://msdn.microsoft.com/en-us/library/ms993231.aspx

Gridview コントロール イベント

于 2009-06-05T19:12:56.480 に答える
0

ASP.NET 2.0 Event Orderには、より長いリストがあります(これは 2.0 用であることに注意してください)。

于 2010-12-11T16:21:34.867 に答える