AutoEventWireupの説明

1859 ワード

このイベントは、現在のページが特定のイベントに自動的に関連付けられるかどうかを集約します.
まず、ブラウザページからのイベントは、すぐにローカルで処理するのではなく、POSTがサーバ上にあるため、asp.Netは委託(エージェント)メカニズムを確立した.事件の同僚を設立し、相応の依頼を確立する.
private void InitializeComponent()
{
<span style="white-space:pre">	</span>this.mybutton.Click += new System.EventHandler(this.Button1_Click);//  
}

private void Button1_Click(object sender, System.EventArgs e)
{ 
//    
}
依頼このページに時刻が関連付けられ、AutoEventWireup=「false」の場合、依頼がなければイベントは実行されません.
これは早起きVBが採用した暗黙的な事件とは異なり、それぞれメリットとデメリットがあるが、asp.Netでは、AutoEventWireup=「true」を変更して、ページを特定の実践的な方法にバインドし、依頼を必要とせずに特定の名前のイベントを自動的に識別できます.これらの特定の名前には、Page_Init, Page_Load, Page_DataBind, Page_PrenderとPage_Unloadなど.例:
private void Page_Load(object sender, System.EventArgs e)
{
//    
}
 针对这些事件方法,开发人员可以利用该参数避免编写过多的链接代码。如果该属性设置为false,则代码应该为: 
  
  
 
private void InitializeComponent()
{ 
<span style="white-space:pre">	</span>this.mybutton,Click += new System.EventHandler(this.Button1_Click);//  
<span style="white-space:pre">	</span>this.Load += new System.EventHandler(this.Page_Load);//   AutoEventWireup       
}
</pre><pre name="code" class="html">private void Page_Load(object sender, System.EventArgs e)
{
//    
}
private void Button1_Click(object sender, System.EventArgs e)
{ 
//    
}

必ず依頼なしでPage_を使用してはいけませんLoadのような方法!
ほとんどの場合、ページにこんなに多くの特殊なイベントを関連付ける必要はなく、追加の操作とシステムのオーバーヘッドが増加します.また、ASP.NETページフレームワークがイベント処理を自動的に呼び出す方法は、その所定の名前に基づいており、ページが呼び出された連語を実行すると、同じイベント処理方法でもシステムオーバーヘッドが増大する.したがって、Microsoftは常にAutoEventWireupをFasleに設定することを推奨します.
AutoEventWireupプロパティの欠点は、ページイベントハンドラに特定の予測可能な名前が必要であることです.これにより、名前付きイベントハンドラの柔軟性が制限されます.
本文はブロガーのオリジナル文章で、ブロガーの許可を得ずに転載してはならない.