标签:
刚上手考试系统,感觉很难,什么也不会,主要是里面加了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.实事求是。不会就是不会,踏实地一步一步去学,你肯定可以的。
标签:
原文地址:http://blog.csdn.net/gaibian0823/article/details/42838637