日期:2014-05-18  浏览次数:20365 次

ASP.NET子页面和父页面加载问题
父页面
public class BasePage:Page
  {
  /// <summary>
  /// 构造函数
  /// </summary>
  public BasePage()
  { 
   
  }

  protected override void OnInit(EventArgs e)
  {
  base.OnInit(e);
  this.Load += new EventHandler(BasePage_Load);
  }

  void BasePage_Load(object sender, EventArgs e)
  {
   
  }

  protected override void OnLoad(EventArgs e)
  {
  base.OnLoad(e);
  }
  }

子页面:public partial class _Default : BasePage
  {
  protected override void OnInit(EventArgs e)
  {
   
  base.OnInit(e);
this.Load += new EventHandler(_Default_Load);
  }

  void _Default_Load(object sender, EventArgs e)
  {
   
  }

  protected override void OnLoad(EventArgs e)
  {
  base.OnLoad(e);
  }
  }
父页面和子页面绑定加载事件顺序不一样,执行的顺序就不一样!!
但是也页面事件的调用不是需要触发吗,执行顺序为什么按照绑定的顺序,而不是按照触发的顺序,还有WEB里面页面Load事件是不是靠ONLOAD来触发呢?

------解决方案--------------------
重新绑定,你重写了啊。Load事件中加个
if (!this.IsPostBack)
{
this.Page.ClientScript.RegisterStartupScript(...);
}
是否首次加载。