标签:
刚上手考试系统,感觉很难,什么也不会,主要是里面加了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