晕,明明只有一行Response.Write,怎么调用两次了呢

解决方案 »

  1.   

    IsPostBack是判断是否是第一次Page_Load的属性,所以你第一次访问时打印出1,因为单击按钮等很多事件都会回传造成Page_Load事件再次执行,而你后面提交的就引发了Page_Load事件的再次,但你用if语句做了判断,所以打印出2来
      

  2.   

    public class Test:Page{
    private void Page_Load(object sender,System.EventArgs e){
    if(!IsPostBack){
    Response.Write("2");
    }
    else{
    Response.Write("1");
    }
    }override protected void OnInit(EventArgs e){
    InitPage();
    base.OnInit(e);
    }private void InitPage(){
    this.Load += new System.EventHandler(this.Page_Load);
    }
    }