我应该在Page_Init中以编程方式添加控件事件处理程序吗?

时间:2010-01-10 22:10:29

标签: c# asp.net event-handling

我希望以编程方式将事件处理程序添加到服务器控件,而不是使用预定义的OnClick属性等。但这被认为是定义处理程序的更好方法:

  1. Page_Init
  2. 中定义它们
  3. Page_Load
  4. 中定义它们

    ......为什么?

1 个答案:

答案 0 :(得分:3)

Page_Init

页面周期之间必须维护的所有内容都应在Page_Init中声明,而不是Page_Load

编辑所有初始化(如添加事件处理程序)和添加控件都应在初始化期间添加,因为状态是在页面循环之间保存的。使用控件和视图状态的内容进行处理应在Load

中完成

同时检查http://msdn.microsoft.com/en-us/library/ms178472.aspx

  

<强>初始化

     

在初始化所有控件和任何皮肤后引发   设置已应用。用这个   读取或初始化控件的事件   属性。

  

<强>加载

     

Page调用OnLoad事件方法   在页面上,然后递归地执行   对于每个儿童控制都是一样的   为每个孩子做同样的事情   控制直到页面和所有   控件已加载。

     

使用OnLoad事件方法进行设置   控制和建立的属性   数据库连接。