在“编辑”上还原所选属性的更改
本文关键字:属性 还原 编辑 | 更新日期: 2023-09-27 18:32:23
在"编辑"操作中,是否可以还原对特定属性所做的更改?
考虑代码:
public async Task<ActionResult> Edit(ModelName model)
{
if (ModelState.IsValid)
{
if(certainConditionMathes)
{
// revert model.PropertyName to original state
}
_dbContext.Entry(model).State = EntityState.Modified;
await _dbContext.SaveChangesAsync();
return RedirectToAction("Index");
}
return View(evaluation);
}
如您所见[Bind(Include = "...")]
不会解决此问题,因为只有在特定条件下,我们才需要取消绑定它。此外,这是一项额外的服务器端安全措施;我不是在查看:if(certainConditionMathes)
上渲染该字段。
我通过将属性设置为 null
来解决此问题,这产生了与属性未绑定相同的效果。