在vs2005中,web应用中,按钮事件不被触发回是什么原因???昨天晚上还是好的,今天一来就不行,晕

解决方案 »

  1.   

    不大可能吧?是不是服务器控件?有没有设置其为AutoPostback啊?
      

  2.   

    断点调试一下,看看是不是真的没有触发...理论上是不会的..如果确有此事,那双击按钮,在按钮按击事件下,将原来写的代码复制到现在的单击事件下即可..以前在WinForm中确实也有类似的事情发生..
      

  3.   

    客户端脚本:
                                    <asp:Button ID="cmbNew" runat="server" Text="新增用户" Height="20px" Width="80px"  CssClass="ButtonCss" OnClick="cmbNew_Click"/>cs中代码:   protected void cmbNew_Click(object sender, EventArgs e)
        {
            this.lbTitle.Text = "创建用户";
            this.cmbSave.Text = "创建用户";
            this.InitControl(1);
        }
      

  4.   

    奇怪?我看下你的page_load事件里怎么写的..
      

  5.   

    你说昨晚还是好的,今天就不行了,那可能就不关page_load的事了..如果你不嫌麻烦,删掉事件,删掉按钮,再重加一个按钮,再写事件下的代码..关键是要在单击时能够触发事件..
      

  6.   

    还是按照liujia_0421(SnowLover)说的做一遍得好
      

  7.   

    这样吧,你还是把page_load中的代码贴出来我看下吧..
      

  8.   

    protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                this.InitOperate(0);
            }
        }    private void InitOperate(short iType)
        {
            SqlCommonDataProvider dbOperate = new SqlCommonDataProvider();
            DataTable dataTable = new DataTable();        dbOperate.GetEmployeeList(out dataTable);        if (iType == 3)//删除
            {
                if (dataTable != null && dataTable.Rows.Count >= 5)
                {
                    if (this.dgList.CurrentPageIndex > Math.Ceiling(dataTable.Rows.Count / 5.0) - 1)
                    {
                        this.dgList.CurrentPageIndex = this.dgList.CurrentPageIndex - 1;
                    }
                }
            }        this.dgList.DataSource = dataTable;
            this.dgList.DataBind();
            if (iType == 0)
            {
                this.txtBirthday.Attributes.Add("onfocus", "setday(this);");
                InitControl(0);
                InitControl(2);            DataTable dataTableRole = new DataTable();
                dbOperate.GetRoleList(out dataTableRole);
                if (dataTableRole != null)
                {
                    ListItem[] li = new ListItem[dataTableRole.Rows.Count + 1];
                    li[0] = new ListItem("","");
                    for (int i = 0; i < dataTableRole.Rows.Count; i++)
                    {
                        li[i + 1] = new ListItem(dataTableRole.Rows[i][1].ToString(), dataTableRole.Rows[i][0].ToString());
                    }
                    this.ddltRole.Items.AddRange(li);
                }            CommonOperate.SetDictData(ddltCertType, "6", true);//证件类型            this.cmbNew.Enabled = false;
                this.cmbModify.Enabled = false;
                this.cmbDelete.Enabled = false;            this.lbTitle.Text = "";
                this.cmbSave.Text = "";            this.cmbSave.Attributes.Add("OnClick",
                    "if (document.form1.hFlag.value == 'New') {return confirm('是否新增用户?');}" +
                    "if (document.form1.hFlag.value == 'Update') {return confirm('是否修改用户?');}" +
                    "if (document.form1.hFlag.value == 'Delete') {return confirm('是否删除用户?');}");            if (Request.Params["abc"] != null)
                {
                    string sRight = Request.Params["abc"].ToString();
                    string[] saRight = sRight.Split(Convert.ToChar(","));
                    for (int i = 0; i < saRight.Length; i++)
                    {
                        switch (saRight[i])
                        {
                            case "01":
                                this.cmbNew.Enabled = true;
                                break;
                            case "02":
                                this.cmbModify.Enabled = true;
                                break;
                            case "03":
                                this.cmbDelete.Enabled = true;
                                break;
                        }
                    }
                }
            }
        }
      

  9.   

    private void InitControl(short iType)
        {
            switch (iType)
            {
                case 0:
                    this.txtAlais.Enabled = false;
                    this.txtBirthday.Enabled = false;
                    this.txtCertNo.Enabled = false;
                    this.txtEMAIL1.Enabled = false;
                    this.txtEMAIL2.Enabled = false;
                    this.txtEmployeeName.Enabled = false;
                    this.txtFax.Enabled = false;
                    this.txtHomeAddress.Enabled = false;
                    this.txtHouseAddress.Enabled = false;
                    this.txtMobile.Enabled = false;
                    this.txtMemo.Enabled = false;
                    this.txtMSN1.Enabled = false;
                    this.txtMSN2.Enabled = false;
                    this.txtName.Enabled = false;
                    this.txtPHS.Enabled = false;
                    this.txtQQ1.Enabled = false;
                    this.txtQQ2.Enabled = false;
                    this.txtTelephone.Enabled = false;
                    this.ddltCertType.Enabled = false;
                    this.ddltRole.Enabled = false;
                    this.ddltSex.Enabled = false;                this.cmbCancel.Enabled = false;
                    this.cmbSave.Enabled = false;
                    this.cmbSetPassword.Enabled = false;
                    break;
                case 1:
                    this.txtAlais.Enabled = true;
                    this.txtBirthday.Enabled = true;
                    this.txtCertNo.Enabled = true;
                    this.txtEMAIL1.Enabled = true;
                    this.txtEMAIL2.Enabled = true;
                    this.txtEmployeeName.Enabled = true;
                    this.txtFax.Enabled = true;
                    this.txtHomeAddress.Enabled = true;
                    this.txtHouseAddress.Enabled = true;
                    this.txtMobile.Enabled = true;
                    this.txtMemo.Enabled = true;
                    this.txtMSN1.Enabled = true;
                    this.txtMSN2.Enabled = true;
                    this.txtName.Enabled = true;
                    this.txtPHS.Enabled = true;
                    this.txtQQ1.Enabled = true;
                    this.txtQQ2.Enabled = true;
                    this.txtTelephone.Enabled = true;
                    this.ddltCertType.Enabled = true;
                    this.ddltRole.Enabled = true;
                    this.ddltSex.Enabled = true;
                    break;
                case 2:
                    this.txtAlais.Text = "";
                    this.txtBirthday.Text = "";
                    this.txtCertNo.Text = "";
                    this.txtEMAIL1.Text = "";
                    this.txtEMAIL2.Text = "";
                    this.txtEmployeeName.Text = "";
                    this.txtFax.Text = "";
                    this.txtHomeAddress.Text = "";
                    this.txtHouseAddress.Text = "";
                    this.txtMobile.Text = "";
                    this.txtMemo.Text = "";
                    this.txtMSN1.Text = "";
                    this.txtMSN2.Text = "";
                    this.txtName.Text = "";
                    this.txtPHS.Text = "";
                    this.txtQQ1.Text = "";
                    this.txtQQ2.Text = "";
                    this.txtTelephone.Text = "";
                    this.ddltCertType.SelectedValue = "";
                    this.ddltRole.SelectedValue = "";
                    this.ddltSex.SelectedValue = "";                break;
            }
        }
      

  10.   

    现在这个页面上所有按钮都不能触发click事件,另外建一个页面上放按钮可以的
      

  11.   

    liujia_0421(SnowLover):要不我把两个文件发给你看看  谢谢
      

  12.   

    改肯定改了,但是我觉得应该触发click事件应该没什么关系吧
      

  13.   

    好的..发到我邮箱吧[email protected]
      

  14.   

    你和我说一下,你今天都作了哪些改变..因为我把其他的控件都删掉以后,只留那个Button是可以的...再说你昨晚也是可以的,所以我想可能与你今天所作的改变有很大关系..
      

  15.   

    aspx中只是加了cmbSetPassword按钮,代码改的不太记得了
      

  16.   

    是所有按钮的click事件都不能触发
      

  17.   

    你在创建用户的时候用户名后面是不是加了一个验证控件吗?RequiredFiledValidator,这个控件的意思是说必须要填写的..而验证控件都是在客户端进行验证的,也就是说当你单击按钮时,会先在客户端对用户名进行验证,如果不为空,才会向服务器提交请求,否则就不会提交..我估计你每次点这个按钮时,没有填用户名吧...
      

  18.   

    可以将Button的有个CauseValidation属性设为False,即不验证..
      

  19.   

    TO:那验证控件是在服务器代码之前,对吗???对于不相关的按钮都将CauseValidation设为False..对于相关的按钮,比如说你的"创建用户"按钮,CauseValidation设为True,意思就是说当你点击"创建用户"时,就会对用户名进行验证,如果用户名为空,就不会向服务器提交,直到你输入不为空,即验证通过为止.
      

  20.   

    这个问题确实不好找,你为什么不给验证控件加个错误提示呢?给验证控件的ErrorMessage加个提示,即设置"用户名不为能为空."这样的话,当你为空时,才会提示你啊,不然的话,加了验证控件也没起到什么作用,结果还给你调试带来了麻烦..