我不确定我是否理解这样做的最佳方式。
如果我有一个包含大量字段的模型,那么我是否必须在 TryUpdateModel 下的白名单中明确列出它们中的每一个,或者我可以只传递 ForCollection。
以下代码不会保存我的编辑,是我唯一的选择来一一列出我的所有字段吗?
public ActionResult Edit(int id, FormCollection form)
{
var jobToUpdate = db.Jobs
.Include(x => x.JobNotes)
.Where(x => x.JobID == id)
.SingleOrDefault();
if (TryUpdateModel(jobToUpdate, form))
{
db.Entry(jobToUpdate).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Details", new { id = model.Job.JobID });
}
return RedirectToAction("Details", new { id = model.Job.JobID })
}
其次,获取已更改字段列表的最佳方法是什么。如果用户更改的唯一字段是 FirstName 字段,我想将其记录在审核日志中。
谢谢你的帮助!