为何以及何时覆盖,并在asp.net使用在preRender [英] why and when to override and use OnPreRender in asp.net

查看:129
本文介绍了为何以及何时覆盖,并在asp.net使用在preRender的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我米工作由一个又一个开发者编写如下

一个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 the postback property. Are there any benefits we are getting in calling this method inside this overriden OnPreRender. And is it necessary to call base.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 calling PopulateGrid in OnPreRender, 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, or Page, then calling base.OnPreRender merely raises the PreRender 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 in OnPreRender.

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆