我有以下片段的asp.net mvc控制器代码,检查状态是否无效,然后我将更新一个字段的值:
[HttpPost]
public ActionResult Create(ContactInfo contactinfo)
{
if (IsModelStateValid(GetIssues(contactinfo)))
{
db.ContactInfoes.Add(contactinfo);
db.SaveChanges();
return RedirectToAction("Index");
}
contactinfo.Name+="why this is not working".
return View(contactinfo);
}
通过调试我检查了Name字段的新值是否成功传递给了我的View模型,但是在渲染结果中,只更新了字段验证字段,没有渲染字段值更改,有人可以帮助我如何应用此更改?
答案 0 :(得分:8)
你遇到了cache
个问题,请注意:
[HttpPost]
public ActionResult Create(ContactInfo contactinfo)
{
if (IsModelStateValid(GetIssues(contactinfo)))
{
db.ContactInfoes.Add(contactinfo);
db.SaveChanges();
return RedirectToAction("Index");
}
// Clear the model state.
ModelState.Clear(); // <-----------------------------------------------
// Or just remove the `Name` property:
ModelState.Remove("Name")
contactinfo.Name+="why this is not working".
return View(contactinfo);
}