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

本文讨论了在ASP.NET MVC中,子类继承PageBase后,父类的Page_Load方法不再执行的问题,并提供了通过在子类方法前加‘new’和手动调用父类方法的解决方法,确保可以优先检验用户身份。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

http://bbs.youkuaiyun.com/topics/390482363?ticket=ST-704066-MoolZ4f7GW3lTwMCb6cK-passport.youkuaiyun.com


问题原因:

子类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是否首先被调用,这样就可以优先检验用户的身份了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值