56

AutoEventWireUpページ プロパティの役割がわかりません。

この記事を読みましたが、それでもわかりません。

4

3 に答える 3

63

ページがリクエストされると、ライフサイクルの一部と見なされるさまざまなイベントが発生します。Peter Bromberg が作成した視覚的表現を手元に置いています。

このAutoEventWireUpプロパティが True の場合、ページ ライフ サイクルのこれらの組み込みイベントの一部がそれらのハンドラーに自動的に関連付けられます。つまり、これらのイベントを明示的にアタッチする必要はありません (たとえば、VB で Handles キーワードを使用)。

これらの組み込みイベントの例は、Page_InitおよびPage_Loadです。

AutoEventWireUpTrue に設定し EventHandlerを明示的に接続すると、それらが 2 回実行されていることがわかります。これが、Visual Studio がこの属性を既定で に設定しておく理由の 1 つfalseです。

編集:(Chester89のコメントの後)


PageのAutoEventWireUp属性のデフォルト値は であるのに対し、Page クラスtrueのプロパティのデフォルト値はAutoEventWireUpfalse

于 2009-03-25T09:54:18.087 に答える
11

この記事で説明したように、AutoEventWireUp をオンにすると、asp.net は page_load 構文を使用したメソッドがあることを自動的に認識し、自動的に呼び出します。

private void Page_Load(object sender, System.EventArgs e)
{
}

これにより、(非常に)わずかなオーバーヘッドを犠牲にして、よりクリーンなコードビハインドが得られます。指定しない場合は、ページ読み込みイベントを処理することを asp.net に明示的に伝える必要があることに注意してください。

this.Load += new System.EventHandler(this.Page_Load);

これは、 Page_Eventという命名規則を使用するため、ページ内の他のイベントにも適用されることに注意してください。

于 2009-03-25T09:51:15.863 に答える