为何以及何时覆盖,并在asp.net使用在preRender [英] why and when to override and use OnPreRender in asp.net
问题描述
我米工作由一个又一个开发者编写如下
一个code 保护覆盖无效在preRender(EventArgs的发送)
{
PopulateGrid(); base.On preRender(E);
}
我会叫 PopulateGrid();
方法检查回发
属性后,Page_Load事件。在那里,我们呼吁这里面这个方法得到任何好处重写在preRender
。而且是要叫 base.On preRender(E)
:
是否有我们呼吁这里面覆盖
得到任何好处这种方法在preRender
?
块引用>回发事件引发后发生preRender阶段(如,
button_Click
),所以通过调用PopulateGrid
在在preRender
,也可以考虑到被点击的按钮。如果按钮修改数据源,这是很有用的。
和是否有必要调用
base.On preRender(E)
?
块引用>严格地说,如果你从
控制派生
,的WebControl
,用户控件
或页
,然后调用base.On preRender
只是提出了一个preRender
事件,所以它不是的必要的调用它,除非有人迷上了针对该事件的处理程序。如果你从别的派生,那么你需要检查基类是否做一些额外的在preRender
。不过我建议你总是调用基方法,在某些情况下,其他组件需要处理未来
preRender
事件。I m working on a code written by a another developer as below
protected override void OnPreRender(EventArgs e) { PopulateGrid(); base.OnPreRender(e); }
I would have called
PopulateGrid();
method in the Page_Load event after checking thepostback
property. Are there any benefits we are getting in calling this method inside thisoverriden OnPreRender
. And is it necessary to callbase.OnPreRender(e)
:?解决方案Are there any benefits we are getting in calling this method inside this overridden
OnPreRender
?The PreRender phase occurs after the postback event is raised (e.g.,
button_Click
), so by callingPopulateGrid
inOnPreRender
, it can take into account the button that was clicked. This is useful if the button modifies the data source.And is it necessary to call
base.OnPreRender(e)
?Strictly speaking, if you're deriving from
Control
,WebControl
,UserControl
, orPage
, then callingbase.OnPreRender
merely raises thePreRender
event, so it's not necessary to call it unless someone has hooked up a handler for that event. If you're deriving from something else, then you need to check whether the base class does something extra inOnPreRender
.But I recommend you always call the base method, in case some other component needs to handle the
PreRender
event in the future.这篇关于为何以及何时覆盖,并在asp.net使用在preRender的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!