关键datagrid中的记录的修改,通常我们有两种方式,如果简单的修改可以使用34课的行编辑模式,这种模型修改起来比较直观,而且可以看到其他记录的数据,有对比参考。适合简单的修改字段,比如修改排序列。但是如果较为复杂的记录,我们还是无法再行中进行修改,这个时候需要我们进行直接打开新的页面或者在windows窗口上面进行编辑了。下面来演示下这两种方式。其实都是差不多,
弹window的编辑,就需要刷新我们的datagrid页面。
1 添加一个快捷键按钮
2然后在按钮事件里面去打开新的页面if (item.name == "modify") {
var url = "/home/modify/" + row.ID;
window.location.href = url;
}
3 后台完成get和post的actionpublic ActionResult Modify(int ID)
{
var dbInfo = dbContext.UserInfos.Where(m => m.ID == ID).FirstOrDefault();
if (dbInfo == null)
{
return Content("账号不存在");
}
return View(dbInfo);
}
[HttpPost]
public ActionResult Modify(UserInfo info)
{
//重新配置两个不是表单的字段
info.AddTime = DateTime.Now;
info.Status = true;
//调用ef把实体保存到数据库中
dbContext.UserInfos.Attach(info);
dbContext.Entry(info).State = System.Data.Entity.EntityState.Modified;
int res = dbContext.SaveChanges();
if (res > 0)
{
return Content("修改成功");
}
else
{
return Content("修改失败");
}
}
4 然后就是我们的视图页面modify.cshtml@model LeaveSystem.Models.UserInfo
@{
ViewBag.Title = "注册";
Layout = "~/Views/Shared/_Layout.cshtml";
}
汉语
英语
日语