前台运用javascript设置当textbox输入回车时触发object.click()点击一个绑定了scriptmanager的按钮跳转到后台的click事件中并添加数据到GridView的datasource中,但输入框第二次按下回车时后台自动跳转到Gridview的rowdeleting方法并删除gridview数据。
前台代码:function TextBoxOnKeyDown() {
            if (window.event.keyCode == "13") {
                var btn = document.getElementById("<%=_submitBtn.ClientID %>");
                btn.click();
                return false;
            }
        }
后台代码:protected void _submitBtn_Click(object sender, EventArgs e)
    {
        if (!ValidInput())
            return;
        string name = Rpr33Data.Home.GetUser(_userBox.Text.Trim());
        if (string.IsNullOrEmpty(name))
        {
            MessageBox(GetLocalizedString(3522));
            _userBox.Focus();
            return;
        }
        bool bFound = false;
        DataTable table = Table;
        for (int i = 0; i < table.Rows.Count; i++)
        {
            if (table.Rows[i][0].ToString().ToUpper() == _userBox.Text.Trim().ToUpper() && table.Rows[i][2].ToString().ToUpper() == _typeDropDownList.SelectedValue.Trim())
            {
                bFound = true;
                break;
            }
        }
        if (bFound)
        {
            MessageBox(GetLocalizedString(3521));
            return;
        }
        DataRow row = table.NewRow();
        row["User"] = _userBox.Text.Trim();
        row["UserName"] = name + "(" + _userBox.Text.Trim() + ")";
        row["Styp"] = short.Parse(_typeDropDownList.SelectedValue);
        row["Sdsc"] = _typeDropDownList.SelectedItem.Text;
        row["Time"] = DateTime.Parse(_timeBox.Text.Trim());
        row["Resn"] = _resnBox.Text.Trim();
        table.Rows.Add(row);
        Rpr33Data data = RequestData;
        data.User = _userBox.Text.Trim();
        data.Styp = short.Parse(_typeDropDownList.SelectedValue);
        data.Time = DateTime.Parse(_timeBox.Text.Trim());
        data.Resn = _resnBox.Text.Trim();
        Rpr33Data.Home.InsertAttendance(data);
        Table = table;
        BindGrid();
        ClearBox(_resnBox.ClientID);
    }private void BindScriptManager()
    {
        ScriptManager1.RegisterAsyncPostBackControl(ResultDataGrid);
        ScriptManager1.RegisterAsyncPostBackControl(_submitBtn);
    }