我正在处理另一位开发人员编写的代码,如下所示
protected override void OnPreRender(EventArgs e)
{
PopulateGrid();
base.OnPreRender(e);
}
在检查PopulateGrid();
属性后,我会在Page_Load事件中调用postback
方法。在overriden OnPreRender
中调用此方法是否有任何好处。是否有必要致电base.OnPreRender(e)
:?
答案 0 :(得分:10)
在此重写的
OnPreRender
中调用此方法是否有任何好处?
PreRender阶段发生在引发回发事件后(例如button_Click
),因此通过调用PopulateGrid
中的OnPreRender
,它可以考虑点击的按钮。如果按钮修改数据源,这将非常有用。
是否有必要致电
base.OnPreRender(e)
?
严格来说,如果您来自Control
,WebControl
,UserControl
或Page
,那么调用base.OnPreRender
只会提升{{1}事件,所以它不是必需来调用它,除非有人为该事件连接了一个处理程序。如果你是从其他东西派生的,那么你需要检查基类是否在PreRender
中做了额外的事情。
但我建议您始终调用基本方法,以防将来某些其他组件需要处理OnPreRender
事件。