继承我自己的页面后没有加载Page_Load

时间:2010-01-10 13:07:29

标签: c# asp.net

我正在尝试创建由我的主页继承的BasePage Web.UI.Page。 但是当我创建公共类mypage时:BasePage方法此类的Page_Load未在页面实时循环中加载。 BasePage不包含任何Page_Load。 有谁知道哪里可能是问题? 感谢名单

5 个答案:

答案 0 :(得分:2)

1)将类添加到项目中

public class BasePage : System.Web.UI.Page
{
}

2)假设您希望Default.aspx页面从BasePage类继承,请按以下方式修改Default.aspx.cs文件:

public partial class _Default : BasePage  
{  
    protected void Page_Load(object sender, EventArgs e)  
    {  
        System.Diagnostics.Debugger.Break();  
    }  
}  

3)请勿更改<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication2._Default" %>文件中的第Default.aspx行。

4)按F5开始调试。系统将要求您在web.config文件中启用调试功能。按确定。你将被置于Page_Load方法的内部,这意味着成功。

答案 1 :(得分:2)

我怀疑您的问题是该类事件实际上并未在类中调用Page_OnLoad,而是OnLoad。以下是您希望班级看起来的方式:

public class MyPage : Page
{
    protected override void OnLoad(EventArgs e)
    {
        // Your code

        base.OnLoad(e);
    }
}

More detailed tutorial here

答案 2 :(得分:1)

确保AutoEventWireup属性设置为true。更多信息:http://msdn.microsoft.com/en-us/library/59t350k3%28VS.71%29.aspx

答案 3 :(得分:1)

如果您在某些课程上覆盖OnLoad而忘记致电base.OnLoad,则Load事件将不会触发,因此Page_Load也不会被调用。< / p>

答案 4 :(得分:0)

您的BasePage是否来自System.Web.UI.Page?