ASP.NET2.0中的事件自动映射机制

4 篇文章 0 订阅
3 篇文章 0 订阅

在ASP.NET 1.0 中都见到事件委托代码(如下),但是在ASP.NET 2.0 中却没有。原因是ASP.NET 2.0 中采用了事件自动映射机制。

#region Web 窗体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
   //
   InitializeComponent();
   base.OnInit(e);
  }
  
  /// <summary>
  /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  /// 此方法的内容。
  /// </summary>
  private void InitializeComponent()
  {   
   this.ImgDbrSave.Click += new System.Web.UI.ImageClickEventHandler(this.ImgDbrSave_Click);
   this.DataGrid4.ItemCreated += new System.Web.UI.WebControls.DataGridItemEventHandler(this.DataGrid4_ItemCreated);
   this.DataGrid4.ItemCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid4_ItemCommand);
   this.ImgDyfSave.Click += new System.Web.UI.ImageClickEventHandler(this.ImgDyfSave_Click);
   this.DataGrid6.ItemCreated += new System.Web.UI.WebControls.DataGridItemEventHandler(this.DataGrid6_ItemCreated);
   this.DataGrid6.ItemCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid6_ItemCommand);
   this.ImgSave.Click += new System.Web.UI.ImageClickEventHandler(this.ImgSave_Click);
   this.Unload += new System.EventHandler(this.Page_Unload);
   this.Load += new System.EventHandler(this.Page_Load);

  }
  #endregion

在我们新建一个ASP.NET 2.0 的页面时,页面资源里的第一排里有一个AutoEventWireUp属性,在C#里默认是true(在Vb里是False)。以前我们在页面写一个Page_Load事件时,代码自动生成器为我们生成了事件的代码,如:this.Load += new System.EventHandler(this.Page_Load);
在ASP.NET 2.0 的页面的后台代码文件中则只有:
protected void Page_Load(object sender, EventArgs e)
{

}
而没有了上面那一行事件注册代码,这其实是编译器为我们在后台做了,如果我们把上面那个AutoEventWireUp属性改成False,我们则必须自己在后台代码里写事件的注册代码。
下面的一些方法是可以通过AutoEventWireUp来自动映射事件的:
Page_PreInit
Page_Init
Page_InitComplete
Page_PreLoad
Page_Load
Page_LoadComplete
Page_DataBind
Page_SaveStateComplete
Page_PreRender
Page_PreRenderComplete
Page_Unload
Page_Error
Page_AbortTransaction
Page_CommitTransaction

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值