前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >EasyUi+MVC+WCF 删除信息--考试系统

EasyUi+MVC+WCF 删除信息--考试系统

作者头像
令仔很忙
发布2018-09-14 16:06:10
7490
发布2018-09-14 16:06:10
举报
文章被收录于专栏:令仔很忙

      直接奔入主题吧,主要想写的是一个批量删除,如何从前台的DataGrid中获取相应的ID然后传到后台进行批量删除。

      前台DataGrid页面:用EasyUI画的

     具体的代码:

     前台Js中要写的:

代码语言:javascript
复制
//删除
$("#btn_Remove").unbind("click").click(function destroyExaminee() {
    //获取选中行数
    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 = "ExamineeId=" + n.ExamineeId;
        } else {
            strId += "&ExamineeId=" + n.ExamineeId;
        }
                    
    });
    //二次确认
    $.messager.confirm('提示', '是否删除选中数据?', function (r) {

        if (!r) {
            return;
        }
        //提交,将获取的数据传到后台
        $.ajax({
            type: "POST",
            async: false,
            url: "/Examinee/DeleteExaminee",
            data: strId,
            success: function (data) {
                var jsondata = eval(data);
                $('#dg').datagrid('loadData', data);
            }
        });
    });
});

      MVC的Controller中要写的代码:

代码语言:javascript
复制
        /// <summary>
        /// 删除考生信息
        /// </summary>
        /// <param name="iList"></param>
        /// <returns></returns>

        public bool DeleteExaminee()
        {
            //从前台捕获数据
            string strExamineeId = Request.Form["ExamineeId"];
            //将捕获的数据转换成数组
            string[] listEnExamineeId = strExamineeId.Split(new char[] { ',' });

            List<ExamExamineeExamRoomEntity> listExamineeId = new List<ExamExamineeExamRoomEntity>();
            //3.把要删除的id 存放到一个 考生实体集合中
            for (int i = 0; i < listEnExamineeId.Count(); i++)
            {
                string tempStr = listEnExamineeId[i].ToString();
                listExamineeId.Add(new ExamExamineeExamRoomEntity());
                listExamineeId[i].ExamineeId = tempStr;
                
            }
            //调用服务层的删除方法
            bool IsDeleteSuccess = examineeService.DeleteExamineeByExamineeId(listExamineeId);
            return IsDeleteSuccess; //这里返回的还是在前台选中的数据ID list集合,可以返回其他数据
        }

  然后是WCF服务层,调用B层的方法

  下面是B层的方法

   底层框架是已经提前搭好的,该删除是假删除,为了保留学生的考试记录,只是在表中添加了一个删除的标识。

代码语言:javascript
复制
/// <summary>
        /// 删除考生信息(按考生ID修改考生删除标识)-- 2014-12-16 11:01:52
        /// </summary>
        /// <param name="listExamineeId">考生ID实体集合</param>
        /// <returns>返回是否删除成功,成功为True,失败为False</returns>
        public bool  DeleteExamineeByExamineeId(List<ExamExamineeExamEntity> listExamineeId)
        {
            
            try
            {
                 for (int i = 0; i < listExamineeId.Count; i++)
                 {
                     //1.创建删除考生的 实体 规则
                     ExamExamineeExamEntity tempExaminee = new ExamExamineeExamEntity()
                     {
                         IsDeleteExamineeExam = 1
                     };
                     //删除考生
                     string guid = listExamineeId[i].ExamineeId;
                     this.CurrentDal.Update(tempExaminee, u => u.ExamineeId == guid, "IsDeleteExamineeExam");
                 }
                 //保存信息,返回True          
                this.DbSession.SaveChanges();
                return true;
            }
            catch (Exception ex)
            {
                //抛出异常
                throw (ex);
            }  

     通过这次参加考试系统的项目,感触最深的就是知识你可能已经学过了,但是你没有办法把它应用到实践中去,所以你只是学过了,而不是学会了,实践才是硬道理啊~~

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014年12月30日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档