首页 > 代码库 > ASP.NET中System.Web.UI.Page的继承问题

ASP.NET中System.Web.UI.Page的继承问题

看了一些文章,通过写PageBase的页面并使其它page继承这个PageBase,可以方便地实现用户检验等需求。

后来发现子类page继承后,父类的PageLoad不执行了。

以下帖子提出了问题,但是没有提供正解:

http://bbs.csdn.net/topics/390482363?ticket=ST-704066-MoolZ4f7GW3lTwMCb6cK-passport.csdn.net


问题原因:

子类Page_Load覆盖了父类的Page_Load方法。


解决方法:

给子类方法前面加一个“new”,然后在子类方法里面这样写:

public partial class NewPage: Pagebase
    {

        protected new void Page_Load(object sender, EventArgs e)
        {
            //父类的Page_Load被覆盖了,因此要手动调用一下

            base.Page_Load(sender, e);

}

}


这样父类和子类的PageLoad方法都会被调用,而且可以控制父类的PageLoad是否首先被调用,这样就可以优先检验用户的身份了。

ASP.NET中System.Web.UI.Page的继承问题