首页 > 代码库 > 考试系统之批量删除

考试系统之批量删除

    刚上手考试系统,感觉很难,什么也不会,主要是里面加了MVC框架,加上一些新的技术,而今天就让我们研究其中的一条线。就拿删除功能来理清我们的思路吧。

 而对于删除可以分为两个步骤:1.从前台获取要删除考试的ID。

2.根据考试ID进行删除。

 首先是js代码:

<span style="font-family:KaiTi_GB2312;font-size:18px;">//批量删除
$("#btn_Remove").unbind("click").click(function destroyExam() {
    var rows = $('#dg').datagrid('getSelections');

    //判断是否选择行
    if (!rows || rows.length == 0) {
        $.messager.alert('提醒', '请至少要选择一行数据!', 'Info');
        return;
    }
    //获取表格选择行
    var strId;
    //循环给提交删除参数赋值(考试ID)
    $.each(rows, function (i, n) {
        if (i == 0) {
            strId = "ExamId=" + n.ExamId;
        } else {
            strId += "&ExamId=" + n.ExamId;
        }

    });
    $.messager.confirm('提示', '是否删除选中数据?', function (r) {

        if (!r) {
            return;
        }
        //提交
        $.ajax({
            type: "POST",
            //async: true,
            url: "/Exam/DeleteExam",
            data: strId,
            success: function (data) {
              
                $('#dg').datagrid('reload');

                $.messager.show({
                    title: "操作提示",
                    msg: "成功删除考试! "
                });
            }
        });
    });
});</span>

    这里加了一个循环,是自己不会的主要原因。

    其次在MVC控制器中 应该接收页面所传数据。

 public bool DeleteExam(IList<int> idList)
        {
            //从前台捕获数据
            string strExamId = Request.Form["ExamId"];
            //将捕获的数据转换成数组
            string[] listEnExamId = strExamId.Split(new char[] { ',' });
            List<ExamExamEntity> listExamId = new List<ExamExamEntity>();
            //3.把要删除的id 存放到一个 题型实体集合中
            for (int i = 0; i < listEnExamId.Count(); i++)
            {
                string tempStr = listEnExamId[i].ToString();
                listExamId.Add(new ExamExamEntity());
                listExamId[i].ExamId = tempStr;

            }
            IExamEntityService examService = ExamServiceFactory.GetExamEntityService();

            bool IsDeleteSuccess = examService.DeleteExam(listExamId);
              
            return IsDeleteSuccess; //这里返回的还是在前台选中的数据ID list集合,可以返回其他数据
        }
    最后就是底层框架创建服务以及B层D层进行删除。

    初次做项目,感触有以下几点:1.纸上得来终觉浅,绝知此事要躬行。感觉自己什么也不会,仿佛自己学的什么都没有用上,以后的学习自己要及时总结,要多多思考。

    2.全局观。需求很重要,并且很多地方也是在完善功能中才考虑到。

    3.交流很重要,一个团队的力量不得不说很厉害,要多与他人交流,你的收获将会是你想象不到的。

    4.实事求是。不会就是不会,踏实地一步一步去学,你肯定可以的。

考试系统之批量删除