比如一个按纽事件,是插入一组数据去数据库,本来插入成功后返回一个值,再弹出一个成功的窗口,点击后清空页面一些值。但程序反应不够快,或网络延迟,可以同一笔记录会入几次,怎么确保他只插入一次呢?
或者用脚本在客户端让点击确定后就让这个按纽不可用。
怎么写代码?

解决方案 »

  1.   

    先把按钮的ENABLED设置为FALSE,等成功返回后在设置为TRUE
      

  2.   

    2楼的说反了吧一开始按钮的enabled显然是true的,要不然接受不了click事件,当click之后,在click事件处理函数中把enabled设置成false,处理结束再设置为true;
      

  3.   

    Button okButton = new Button();
    okButton.Enabled = true;
    okButton.Click += new EventHandler(okButton_Click);private void okButton_Click(object sender, EventArgs e)
    {
        okButton.Enabled = false;
        /* submit the data to DB*/
        okButton.Enabled = true
    }
      

  4.   

    点击一次button把事件注销掉,完成后再注册上okButton.Click -= new EventHandler(okButton_Click);okButton.Click += new EventHandler(okButton_Click);
      

  5.   

    怎么写javascript的OnClick事件,让按钮变成不可用?
      

  6.   

    你开发的是B/S 还是C/S?
    没听说过winform用Javascript让按钮不可用。
    到asp.net发看看
      

  7.   

    private void okButton_Click(object sender, EventArgs e)
    {
        okButton.Enabled = false;
        /* submit the data to DB*/
        okButton.Enabled = true
    }
    --------------------------------------------
    这种方法显然不行,应该是这样:
    private void Page_Load(object sender, System.EventArgs e)
    {
    Button1.Attributes.Add("OnClick","Button1.Enable=false;");
    }private void Button1_Click(object sender, System.EventArgs e)
    {
      //执行你的代码
    Button1.Attributes.Add("OnClick","Button1.Enable=true;");
    }
      

  8.   

    代码写错了,正确的修改如下;
    private void Page_Load(object sender, System.EventArgs e)
    {
    Button1.Attributes.Add("OnClick","this.disabled=true;");
    }private void Button1_Click(object sender, System.EventArgs e)
    {
      //执行你的代码
    Button1.Attributes.Add("OnClick","this.disabled=true;");
    }
      

  9.   

    靠又写错了,最终正确的如下:
    private void Page_Load(object sender, System.EventArgs e)
    {
    Button1.Attributes.Add("OnClick","this.disabled=false;");
    }private void Button1_Click(object sender, System.EventArgs e)
    {
      //执行你的代码
    Button1.Attributes.Add("OnClick","this.disabled=true;");
    }