开发工具与关键技术:Visual Studio ASP.NET MVC
作者:刘剑鸿
撰写时间:2019年04月13日 星期六
程序员的日常操作—修改数据
对数据修改的操作,是程序员在管理数据天天能遇上的事情。修改和新增很像,其目的都是往数据库里面修改数据,新增数据是从无到有。而修改是在原有的基础上去修改,通过获取主键ID去确定哪些数据要修改,还有在修改操作中还要进行数据回填。
在控制器里我们要运用一个传递过来的参数,就是从页面修改传递过来的数据。接下来我们要在控制器里进行5步操作。1判断数据是否在数据库已经存在。3获取要修改的数据。3根据主键ID提取数据4执行修改5将修改的数据保存到数据库。下面是修改操作的代码:
具体代码如下:
public ActionResult UpdateAcademe(SYS_Academe sysAcademe) //sysAcademe是传递过来的参数
{
ReturnJson returnJson = new ReturnJson();
try
{
//检查和其他是否有冲突
int otherCount = (from tbAcademe in myModel.SYS_Academe
where tbAcademe.AcademeID != sysAcademe.AcademeID && (
tbAcademe.AcademeName == sysAcademe.AcademeName.Trim() ||
tbAcademe.AcademeCode == sysAcademe.AcademeCode.Trim())
select tbAcademe).Count();
if (otherCount ==0)
{//获取要修改的数据
SYS_Academe dbAcademe = (from tbAcademe in myModel.SYS_Academe
//根据主键ID提取数据
where tbAcademe.AcademeID == sysAcademe.AcademeID
select tbAcademe).Single();
//给实体赋值
dbAcademe.AcademeName =
sysAcademe.AcademeName;
dbAcademe.AcademeCode =sysAcademe.AcademeCode;
//执行修改
myModel.Entry(dbAcademe).State = EntityState.Modified;
//保存修改
if (myModel.SaveChanges()>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 = "数据异常!";
}
return Json(returnJson, JsonRequestBehavior.AllowGet);
}
还有一段在视图里,主要是两个方法。1打开修改模态框。2保存修改模态框
在打开模态框时,为了保证数据的质量,我们要清空一下模态框,所以重置一下表单。然后进行数据回填,回填时同样使用post异步提交。而保存修改模态框的方法里,主要有五步操作,1 //获取页面数据2判断输入框的数据不为空3进行异步提交4关闭模态框5刷新一下表格。
其实和新增操作没什么不同,其代码如下
//打开修改模态框
function openUpdate(UacademeId) {
//重置表单
$('#formUpdateAcademe input[type="reset"]').click();
//回填数据
$.post("/SysemMangement/Collegeinfor/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("/SysemMangement/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 });
}
}
备注:视图里的代码都是运用jQuery的代码。