为什么以及何时在 asp.net 中覆盖和使用 OnPreRender
本文关键字:覆盖 OnPreRender net 何时 asp 为什么 | 更新日期: 2023-09-27 18:32:40
我正在处理另一个开发人员编写的代码,如下所示
protected override void OnPreRender(EventArgs e)
{
PopulateGrid();
base.OnPreRender(e);
}
我会在检查postback
属性后在Page_Load事件中调用PopulateGrid();
方法。在这个overriden OnPreRender
中调用此方法有什么好处吗?是否有必要打电话给base.OnPreRender(e)
:?
在这个被覆盖的
OnPreRender
中调用此方法有什么好处吗?
PreRender阶段发生在引发回发事件(例如,button_Click
)之后,因此通过在OnPreRender
中调用PopulateGrid
,它可以考虑单击的按钮。如果按钮修改数据源,这将非常有用。
有必要打电话给
base.OnPreRender(e)
吗?
严格来说,如果你是从Control
、WebControl
、UserControl
或Page
派生的,那么调用base.OnPreRender
只会引发PreRender
事件,所以没有必要调用它,除非有人为该事件挂上了处理程序。如果你是从其他东西派生的,那么你需要检查基类是否在OnPreRender
中做了额外的事情。
但我建议您始终调用基方法,以防将来其他组件需要处理PreRender
事件。