不是的,单独每个事件都正常。只是点button的时候,textbox也是changed的时候就会先做textchanged,再点一次才是click。把textchanged的工作放到客户端我想能解决这个问题。但如果不这样做,怎么办?

解决方案 »

  1.   

    位置是这样的,textbox,chkbox,button1,button。textbox和button是文中提到的。
      

  2.   

    你搜索一下:
    button.click +=
    这个出现了几次?
      

  3.   

    只出现一次.我这问题是修改textbox后点击button是同时满足textchanged和click事件的条件的.因此会有冲突.而好象每次postpack只回传一个事件.to江雨, 设个断点应该看什么呀?我已经做了foreach(string scontrol in Request.Form)
    Lcourseinfo.Text += "<br>" + " " + scontrol + " " + Request.Form[scontrol].ToString();
      

  4.   

    private void Bupdate_Click(object sender, System.EventArgs e)
    {
             Lcourseinfo.Text += "bupdate_click " + DataGrid1.SelectedItem.Cells[2].Text + " " + DataGrid1.SelectedItem.Cells[3].Text + " " + Tscore1.Text;
    myCommand = new SqlCommand("dbo.jwff_updatestudentcourse",myConnection);
    myCommand.CommandType = CommandType.StoredProcedure;
    myCommand.Parameters.Add("@crs_id",SqlDbType.Int).Value = Convert.ToInt32(DataGrid1.SelectedItem.Cells[2].Text);
    myCommand.Parameters.Add("@usr_id",SqlDbType.Int).Value = Convert.ToInt32(DataGrid1.SelectedItem.Cells[3].Text);
    myCommand.Parameters.Add("@score",SqlDbType.NVarChar).Value = Tscore1.Text;
    myCommand.Parameters.Add("@passed",SqlDbType.Bit).Value = Cbpass.Checked;
    dr = myCommand.ExecuteReader();
    dr.Close();
    if(Rbstustyle.Checked)
    Ddlstuno_SelectedIndexChanged(sender,e);
    else
    Ddlcourse_SelectedIndexChanged(sender,e);
    }private void Tscore1_TextChanged(object sender, System.EventArgs e)
    {
    if(Char.IsDigit(Tscore1.Text,0))
    {
    if(Convert.ToDouble(Tscore1.Text)<60) Cbpass.Checked = false;
    else Cbpass.Checked = true;
    }
    else
    {
    if(Tscore1.Text == "不及格") Cbpass.Checked = false;
    else Cbpass.Checked = true;
    }
    foreach(string scontrol in Request.Form)
    Lcourseinfo.Text += "<br>" + " " + scontrol + " " + Request.Form[scontrol].ToString();
    }
      

  5.   

    应该是你的代码问题,先处发changed,后才是click。你错了!
      

  6.   

    我不明白你的意思,难道说把changed放到click前就对了?能说得详细一点吗? 谢谢!
      

  7.   

    有什么办法,就是这个样子的,点击按纽,提交页面,触发change时间,然后处理按钮里事件代码。