JS代码:
for (var i = 0; i < myForm.length; i++) {
   if (myForm.elements[i].type == "submit") {
       objButton = myForm.elements[i];
           if (objButton.name.indexOf("btnDelete") > -1) {
                  alert(objButton.name);
                  objButton.click(); --触发后台代码,且测试过能触发成功}
   }
}
后台代码:
 protected void gridView3_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "DeleteServiceRow")
        {
            string id = e.CommandArgument.ToString();
            DataTable dt = (DataTable)ViewState["TempServiceData"];--获取缓存中的gridview数据集
            --问题点:无论JS循环几次,该DataTable永远不变,为何获取每次循环删除的数据集
            if (dt != null)
            {
                foreach (DataRow dr in dt.Rows)
                {
                    if (dr["ID"].ToString() == id)
                    {
                        dt.Rows.Remove(dr);
                        dt.AcceptChanges();
                        break;
                    }
                }
            }
            ViewState["TempServiceData"] = dt;--保存删除后的数据集
            GridView3.DataSource = dt;
            GridView3.DataBind();
        }
    }

解决方案 »

  1.   

    纠正一下错别字
    问题点:无论JS循环几次,该DataTable永远不变,如何获取每次循环删除的数据集
      

  2.   

    我有个下拉框,选择了以后 需要提示“是否删除” 选是,就清空gridview数据集 ,我后台判断且调用JS,然后再通过JS再调后台删除按钮事件,前面都成功了,就是每次删除的时候读取的gridview数据集一直是最初的,w我每次触发删除事件都会成功,就是重新读取gridview数据集的时候又还原了