为什么要为Page.InitComplete添加额外的事件处理程序?

时间:2012-09-06 22:00:46

标签: c# asp.net events web-parts page-lifecycle

我正在学习Web部件,有一点教程说要在Page_Init中执行以下操作:

Page.InitComplete += new EventHandler(GenerateModeList);

本教程继续定义GenerateModeList,其中项目列表被添加到DropDownList。此列表将包含支持的显示模式。

在我看来,定义GenerateModeList方法并从Page_InitComplete调用它会更简单。

为什么我要添加其他事件处理程序?

1 个答案:

答案 0 :(得分:1)

“GenerateModeList”方法可能需要访问初始化的控件(如DropDownList)。页面上的控件尚未在Page.Init处初始化。

请参阅Page.InitComplete事件的文档:

  

在页面生命周期的这个阶段,页面上所有已声明的控件都已初始化,但页面的状态尚未填充。您可以访问服务器控件,但它们还不包含用户返回的信息。