残缺丶
2015-05-06 05:38
采纳率: 56%
浏览 4.0k
已采纳

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条回答 默认 最新

  • 残缺丶 2015-05-06 05:57
    已采纳

    我已经解决了。。。

      string ID = context.Request.Params["ID"];
            SqlConnection conn = new SqlConnection(connstr);
            string sql = string.Format("delete from Teacher where Teacherid in ("+ID+")");
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • zj0224 2015-05-06 05:52

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

    评论
    解决 无用
    打赏 举报
  • zj0224 2015-05-06 05:56

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

    评论
    解决 无用
    打赏 举报
  • 逝_去_的_光_阴 2015-05-06 05:58

    后台接到字符串 拆成数组 (如果要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或格式错误!");
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题