你在叫base.OnInit吗?
public override void OnInit(EventArgs e) { // code before base oninit base.OnInit(e); // code after base oninit }
更新
public class Page1 : Page { public Page1 : base() { PreInit += Page_PreInit; } void Page_PreInit(object sender, EventArgs e) { Master.Init += Master_Init; } void Master_Init(object sender, EventArgs e) { //code } }
同样如评论中所提到的,如果你不需要,我建议你不要覆盖这些事件,但如果你必须确保打电话给基地.所以在你上面的编辑中它应该是
protected override void OnPreInit(EventArgs e) { base.OnPreInit(e); base.Master.Init += new EventHandler(Masters_Init); }