easyui 删除复选框选中的数据,在后台怎么接受前台js数组

我需要做一个删除功能,datagrid第一列是复选框,我根据选中的复选框来删除,可能是单选或多选,我在前台是拿到选中的行的id,用一个数组保存下来,
看代码

  // 返回被选中的行 然后集成的其实是 对象数组  
                   var row = $('#tab').datagrid('getSelections');  
                   var i = 0;  
                   var string = "";  
                   for(i;i<row.length;i++){  
                          string += row[i].TeacherId;  
                          if(i < row.length-1){  
                                  string += ',';  
                              }else{  
                            break;  
                            }  
                    } 

我的问题是,我在一般处理文件中怎么接收这个传过来的数组,后台该怎么写,我的sql语句该怎么写了?

5个回答

我已经解决了。。。

  string ID = context.Request.Params["ID"];
        SqlConnection conn = new SqlConnection(connstr);
        string sql = string.Format("delete from Teacher where Teacherid in ("+ID+")");

后台接到字符串 拆成数组 (如果要int类型还得再转成int数组)
删除的sql条件 where id in ()

ajax传递你的id就好了,你不是将id用逗号隔开了,服务器端split下得到内容就好了

 $.ajax({url:'xxxx.ashx',data:{id:string},type:'POST',complete:function(xhr){
alert('ajax返回:'+xhr.responseText)
}});
 string s=context.Request.Form["id"];//ajax指定的是post,所以用Form
if(!string.IsNullOrEmpty(s)&&System.Text.RegularExpressions.Regex.IsMatch(s,@"^\d+(,\d+)*$")){//这里要用正则在验证下有效性
  string sql="delete from youtable where yourid in("+s+")";
    //..执行sql
}
else context.Response.Write("ID为null或格式错误!");
qq_19755427
残缺丶 三克油,又学到了一种方法。
5 年多之前 回复

//此处的params是你蠢到后台的参数名称
String params = req.getParameter("params");
//循环删除
if (params != null && !"".equals(params)) {
String[] paramArr = params.split(",");
for (String param : paramArr) {
//删除操作
}
}

//前台js部分可以这样写
var string = $('#tab').datagrid('getSelections');
var params = [];
$.each(string, function(index, item){
params.push(item.filed);//此处的filed是datagrid中的列名
});
//可使用ajax异步提交

qq_19755427
残缺丶 谢谢,我已经自己解决了
5 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问