很多人在做修改操作的时候一般都用下面的这种
studentModel.Entry(model).State = EntityState.Modified;
当我出现了另外的情况时:
比如管理员管理用户的数据时,管理员不能获取到用户的密码,那传回的model里面的psw是为null
不说能不能改,能改你也把别人的密码默认改没了。因为你没有获取到密码。数据库属性不为NULL
所以就有了这么一个东西,TryUpdateModel
我是这么用的:
student stu = studentModel.student.Where(
p=>p.Student_number.Equals(model.Student_number)
).FirstOrDefault();//获取学生数据。
if (TryUpdateModel(stu, new string[]
{ "Student_name", "Student_sex", "Student_age", "Student_dept", "Student_address" }
))//判定修改的属性是否在 stu 的属性里的可修改列表中(很拗口)
{
studentModel.SaveChanges();
return RedirectToAction("Index");
}
如果想要了解更多 http://www.jb51.net/article/72316.htm
https://www.cnblogs.com/superfeeling/p/4900072.html
对你有帮助的话请留下你的小脚印
网友评论