看看你的aspx页面上有没有 AutoEventWireUp="false"这句,没有的话加上,如果值不是false的话改为false。

解决方案 »

  1.   

    确实是这个原因造成的,AutoEventWireUp是自动关联选项,默认设置是true,这意味着Page_Load方法被自动识别并被关联到相关的事件。
    但是我还是不清楚具体执行两遍的原因,难道关联了两遍就要执行两遍,或者是自动关联时执行了page_load,而后在this.Load += new System.EventHandler后又执行了一遍?
      

  2.   

    vs.net默认是不自动将事件与事件处理程序挂钩的,所以如果不加上 this.Load+=new System.EventHandler(this.Page_Load)的话,你的Page_Load方法就不会执行,而如果AutoEventWireup被设成了true,你又在InitializeComponent()方法中将Page的Load事件与Page_Load方法挂钩了一次,那么Page_Load方法就被调用了两次,所以如果要将事件与事件处理程序自动挂钩的话,就要去掉 this.Load+=new System.EventHandler(this.Page_Load);这句。
      

  3.   

    看看你的aspx页面上有没有 AutoEventWireUp="false"这句,没有的话加上,如果值不是false的话改为false。