基础数据维护-修改
修改-就是把原生的数据替换成新的数据。它整体的思路和新增基本一样,就是它要数据回填,回填到模态框,是用json对象进行填充,再获取页面的数据,保存。
首先页面布局,需要table表格,表格里定义一个修改按钮,我们现在是用的bootstrap.4.1.3.dist插件,先引用插件,布局(只要是table表格),然后就先查询table里的所有数据,前几次我们都是用学院的数据,那我们这次也用学院的数据,先控制器定义个方法,查询学院的数据,当然了,我们做项目的时候,新增、修改、删除都是在一个table表格定义的,那我们就查询一次学院数据就可以了,现在我们在分析就一步一步下去,查询学院,然后table表格的数据·,里面定义好修改按钮。
首先要用Models时就先实例化下Models,
Models.CQUPTEntities myModels = new Models.CQUPTEntities();
接下来再创建个方法
public ActionResult SelectNotceType(LayuiTablePage layuiTablePage)
{
var listNoticeType =(from tbNoticeType in myModels.SYS_NoticeTypeTable)
orderby tbNoticeType.NoticeTypeID descending//倒叙排序
select tbNoticeType);//连表查询公告类型表的数据
//下面实现分页操作
List<SYS_NoticeTypeTable> listnNoticeTypeDetails=listNoticeType
.Skip(layuiTablePage.GetStartIndex())
.Take(layuiTablePage.limit)
.ToList();
//返回列表
LayuiTableData<SYS_NoticeTypeTable> layuiTableData = new
LayuiTableData<SYS_NoticeTypeTable>();
layuiTableData.count = listNoticeType.Count();
layuiTableData.data = listNoticeTypeDetails;
return Json(layuiTableData,JsonRequestBehavior.AllowGet);
}
然后就在script标签里获取上面这个方法和定义table表格的样式,分页操作,记得要在表里面定义修改按钮,就这样table就会出来。
Table表格就简单的介绍了,接下来就是修改部分的操作:
事先给修改按钮一个函数,然后定义那个函数:
- 先是打开修改模态框
- 然后重置表单
- 然后就是利用post方法获取方法,实现数据回填
- 根据json对象填充form表单
接着就是数据保存了: - 获取页面数据
- 然后判断是否为空或者没定义
- 异步提交数据
- 如果返回是true就是删除成功
- 关闭模态框
- 刷新table表格,让数据回到表格里
- 最后就是提示,提示用户修改成功了
基本的思路就是这样
然后我们先查询(条件查询)修改数据回填
public ActionResult SelectAcademeById(int academeId){
try{
SYS_Academe sysAcademe = (from tbAcademe in myModels.SYS_Academe
where tbAcademe.AcademeID == academeId//条件查询
select tbAcademe).Single();
return Json(sysAcademe,JsonRequextBehavior.AllowGet);
}catch(Exception e){
Console.WriteLine(e);
return Json(“”, JsonRequextBehavior. AllowGet);
}}//修改数据回填
public ActionResult UpdateAcademe(SYS_Academe sysAcademe){
ReturnJson returnJson = new ReturnJson();
try{//检查和其他是否有冲突
int otherCount = (from tbAcademe in myModels.SYS_Academe
where tbAcademe.AcademeID != sysAcademe.AcademeID &&
(tbAcademe.AcademeName ==sysAcademe.AcademeName.Trim() ||
tbAcademe.AcademeCode == sysAcademe.Academe.AcademeCode.Trim())
select tbAademe).Count();
if(oterCount == 0){
//获取要修改的数据
SYS_Academe dbAcademe = (from tbAcademe in myModels.SYS_Academe
where tbAcademe.AcademeID == sysAcademe.AcademeID
select tbAcademe).Single();//根据主键ID提取数据
//然后给实体赋值
dbAcademe.AcademeName = sysAcademe.Academe.AcademeName;
dbAcademe.AcademeCode = sysAcademe.AcademeCode;
//执行修改
myModels.Entry(dbAcademe).State = EntityState.Modified;
//保存修改
If(myModels.SaveChange()>0){
returnJson.State = true;
returnJson.Text = “修改成功!”; }
else{
returnJson.State = false;
returnJson.Text = “修改失败!”;}}
else{
returnJson.State = false;
returnJson.Text = “和其他的重复!”;}}
catch(Exception e) {
Console.WriteLine(e);
returnJson.State = false;
returnJson.Text = “数据异常!”}
}//修改
然后就回到web页面写我们的jQuery和JavaScript:
首先是获取按钮函数,打开模态框
function openUpdate(UacademeId){
$(‘#formUpdateAcademe input[type = “reset”]’).click();//重置表单
$.post(“/MullerManagement/SelectAcademeById”,//获取数据回填方法
{academeId: UacademeId },function(data){
loadDatatoForm(“formUpdateAcademe”,data);//根据json对象填充form表单
},“json”);
$(‘#modalUpdateAcademe’).modal(‘show’);//打开模态框
}//修改数据回填
function savaUpdate(){
//获取页面数据
var AcademeID = $(“#UAcademeID”).val();
var AcademeName = $(“#UAcademeName”).val();
var AcademeCode = $(“#UAcademeCode”).val();
//判断
If(AcademeID != ‘’ && AcademeID != undefined && !isNaN(AcademeID)
&& AcademeName != ‘’ && AcademeName != undefined && AcademeCode !=’’ &&
AcademeCode != undefined){
//异步提交数据
$.post(“UpdateAcademe”,{
AcademeID:AcademeID,
AcademeName:AcademeName,
AcademeCode:AcademeCode,
},
function(returnJson){
if(returnJson.State == true){
$(“#modalUpdateAcademe”).modal(‘hide’); //关闭模态框
tabAcademe = layuiTable.reload(‘tabAcademe’);//刷新table
}
layui.alert(returnJson.Text);
},”json”);
}
else{
//提示
layer.alert(‘请填写完整’,{title:’提示’,icon:3});//标题提示,然后一个提示语表情
}
}//修改保存
修改就是这样替换新数据的,总体两部分:先条件查询数据回填,然后获取这个方法,提交方法,实现数据回填。最后就是保存修改,去判断是否有冲突,然后再提交数据,修改后的操作,关闭刷新提示。整个修改操作就是这样,步骤都是一样,偶尔样式不一样。
点击修改按钮,然后弹出模态框
修改学院代号,点击修改保存,然后提示修改成功、刷新table表格,修改操作成功。