.NET中Model virtual属性值的修改
如果是直接在页面中修改传参回来会因为类已经改变过所以不能修改
1 | public ActionResult Edit([Bind(Include = "ID,which")] DutyTable dutyTable) |
这么做就会导致更新不了
正确做法如下1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16public ActionResult Edit([Bind(Include = "ID,which")] DutyTable dutyTable)
{
if (ModelState.IsValid)
{
DutyTable d = db.DutyTables.Find(dutyTable.ID);
int soldierID = int.Parse(Request.Form["soldierID"]);
Soldier soldier = db.Soldiers.Find(soldierID);
d.soldier = soldier;
db.Entry(d).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("DutyTableManager");
}
return View(dutyTable);
}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 SHIELD!
评论