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