专栏首页令仔很忙EasyUi+MVC+WCF 删除信息--考试系统

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

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

      前台DataGrid页面:用EasyUI画的

     具体的代码:

     前台Js中要写的:

//删除
$("#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中要写的代码:

        /// <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层的方法

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

/// <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);
            }  

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Hibernate从入门到放弃(二)----和这个世界打声招呼(HelloWorld)

    2)、新建项目hw_hibernate 3)、导入Jar包 请下载hibernate_lib.zip拷贝到lib目录下 4)、新建配置文件hiber...

    令仔很忙
  • 多线程----Immutable VS Mutable (可变与不可变)

    Immutable是什么意思?不变的、不发生改变的意思。在JDK中有很多的类被设计成不可变的,举个大家经常用到的类java.lang.String,Strin...

    令仔很忙
  • C#----汉字转拼音

    上一篇博客中介绍的是动态加载EasyUI控件显示到前台,里面包括按钮控件,而且每一个设备有可能有不同的命令和参数,不过总共可以显示的有八种不同的按钮,公用的,那...

    令仔很忙
  • C#进阶系列——WebApi 接口参数不再困惑:传参详解 下

    (1)基础类型数组 var arr = ["1", "2", "3", "4"]; $.ajax({ type: "post", ...

    逸鹏
  • 心理学名家告诉你,11个不容忽视的教育的关键

    教育是人类永恒的话题。对成长规律的探索,不仅让我们更加了解孩子,也更加懂得个体生命的意义,从而改变自己。

    用户1756920
  • 【每日算法Day 99】你们可能不知道只用20万赢到578万是什么概念

    然后从最小的数开始,以它作为顺子的开头,然后看顺子里的数在不在 map 里,在就次数减一,不在就直接返回 false 。

    godweiyang
  • WordPress 如何获取分类/标签的ID

    鼠标移动到编辑处,看到浏览器底部出现链接,其中的tag_ID=5中这个5就是分类的ID,标签同理。

    lollipop72
  • 英特尔CPU再雄起:3D堆叠技术,10nm芯片没难产

    2018年简直对英特尔来说,简直水逆。高管离职、安全事故、销量下滑…让大家非常期待英特尔接下来的产品路线。

    新智元
  • 云监控最佳实践:自定义监控服务器 TIME_WAIT 连接数

    腾讯云服务器监控 agent 只采集了处于 ESTABLISHED 状态的 TCP 连接数量?

    腾讯云监控团队
  • [接口测试_B] 13 pytest+requests实战练习

    找不到免费的接口,所以依然以requests官方文档中出现的httpbin为示例,为了保持网络的稳定,可以把httpbin搭建在本地。

    苦叶子

扫码关注云+社区

领取腾讯云代金券