今天我们来学习一下用VS修改数据。我这次教给大家的是修改学院,修改学院是修改学院的名称和学院的代号。首先我们先把数据查询出来,然后我们自定义一个修改的按钮,如下图:
修改按钮的代码:
function setOperate(data) {
//获取绑定表格的主键ID
var academeId = data.AcademeID;
var btns = “”;
btns += ‘<button type=“button” class=“layui-btn layui-btn-xs” οnclick=openUpdate(’ + academeId + ‘)>修改’;
return btns;
}
在查询数据的时候给了一个变量setOperate,然后调用这个变量。获取绑定表格的主键,声明一个按钮btns,然后写修改按钮的样式,返回按钮。当我们点击修改按钮的时候,弹出模态框。然后就是数据回填了,来到控制器,回填的学院名称和学院代号,下面是回填的代码:
public ActionResult SelectAcademeById(int academeId)
{
try
{
SYS_Academe sysAcademe = (from tbAcademe in myModel.SYS_Academe
where tbAcademe.AcademeID == academeId//条件查询
select tbAcademe).Single();
return Json(sysAcademe, JsonRequestBehavior.AllowGet); }
catch (Exception e){
Console.WriteLine(e);
return Json("", JsonRequestBehavior.AllowGet); }
}
用try…catch来扑捉一下错误,判断一下数据是否相等,如果相等的就让它回填否则数据为空,来到试图这里,把数据回填的内容给回填,如下图:
获取点击修改按钮openUpdate,重置一下表单,然后就是数据回填了,我用的是post的提交方法,首先是回填的链接,然后用键值的方法传递参数,用json对象填充from表单,然后就是让模态框弹出。如下图所示:
我们把数据回填了,才能做我们的修改操作。我们要做的判断是数据是否重复,学院名称和学院的代号都不能查询重复,数据不能为空。来到控制器,我们通过学院的表对数据进行修改,然后声明一个returnJson的返回值,做各种判断。然后我们用try…catch来扑捉各种判断,如果有错误的话就提示数据异常,首先我们要检查数据是否有冲突,有冲突的话,我们就提示一下用户数据重复。因为我们在检查数据的时候声明了一个otherCount来接收数据,我们用if来判断一下otherCount等不等于0,获取要修改的数据,直接用学院的表对数据进行修改,给实体赋值,然后执行修改,执行修改的代码:myModel.Entry(dbAcademe).State = EntityState.Modified;
保存修改,判断一下myModel.SaveChanges()大不大于0,大于0的话我们就执行修改成功,否则就是修改失败,把returnJson给返回。这样我们就可以修改数据了,当然我们要来到试图写修改保存的方法。
首先我们获取一下保存的按钮,然后我们获取一下页面的数据,我们判断一下,数据为不为空,如果数据为空的话,我们就提示用户数据为空,请填写完整。数据不为空,我们就进行数据的修改,用异步提交的方法,然后关闭模态窗体,刷新表单,下面是实现修改数据的方法代码:
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("/SystemManagements/CollegeInfor/UpdateAcademe",
{
AcademeID: AcademeID,
AcademeName: AcademeName,
AcademeCode: AcademeCode
},
function (returnJson) {
if (returnJson.State == true) {
//关闭模态框
$("#modalUpdateAcademe").modal('hide');
//刷新table
tabAcademe = layuiTable.reload('tabAcademe');
}
layer.alert(returnJson.Text);
}, "json");
}
else {
//提示
layer.alert('请填写完整', { title: '提示', icon: 0 });
}
}
学习总结:通过这次学习修改数据,我学到了如何用VS对数据的修改,我们先把数据回填,记住回填的时候是先重置表单才能回填数据,不然就会出现没有数据,然后写我们要修改数据的方法。希望我写的修改数据能给大家带来帮助。