int i=0;                  private void Button1_Click(object sender, System.EventArgs e)
{
  i++;
  Log.WriteErrorLog(i.ToString(),"000" , "000" );
  Response.Redirect("WebForm42.aspx");
  Button1.Enabled=false;
}当我在页面转向WebForm42.aspx之前狂点击按钮,我的log中有许多1,证明该按钮的事件执行了多次
怎样才能只执行一边,不管用户点了多少次

解决方案 »

  1.   

    static int i=0;                  private void Button1_Click(object sender, System.EventArgs e)
    {
      if (i=1) return;

      i++;
      Log.WriteErrorLog(i.ToString(),"000" , "000" );
      Response.Redirect("WebForm42.aspx");
      Button1.Enabled=false;
    }
      

  2.   

    你用个COOKIES 记下 是否点击过。如果点过。。下次就点就不执行相关的代码嘛
      

  3.   

    用session 之类的也行反正就是做一个标记
      

  4.   

    private void Button1_Click(object sender, System.EventArgs e)
    {
                        Button1.Enabled=false;
    }
      

  5.   

    别用session了~~并发一多就挂了,用ViewState吧
      

  6.   

    private void Button1_Click(object sender, System.EventArgs e)
    {
                        Button1.Enabled=false;
    }
      

  7.   

    用JS控制,点击一次后就disabled
      

  8.   

    我支持zhouweiwansui(传说中那个用心算解偏微分方程的男人)的方法static int i=0;                  private void Button1_Click(object sender, System.EventArgs e)
    {
      if (i==1) return;  i++;
      Log.WriteErrorLog(i.ToString(),"000" , "000" );
      Response.Redirect("WebForm42.aspx");
      Button1.Enabled=false;
    }
      

  9.   

    private void Button1_Click(object sender, System.EventArgs e)
    {
                        Button1.Enabled=false;
    }
    这个方法不错,简单实用。
      

  10.   

    上面已经回答
    private void Button1_Click(object sender, System.EventArgs e)
    {
                        Button1.Enabled=false;
    }