我有这个控制器:
public ActionResult Save(Model m)
{
var db = new Db();
m.Prop = "New Value";
db.Save(m);
return PartialView("_ModelForm", m);
}
出于某种原因,尽管在控制器中更新了m
,但"Old Value"
的{{1}}会在响应中返回而不是Prop
。
我查看了HTTP响应,并将旧值作为响应的一部分返回("New Value"
更改被忽略),因此问题是不它被缓存在客户。
我尝试使用OutputCache属性修饰控制器,但没有成功。
"New Value"
没有改变db.Save
属性的副作用。
答案 0 :(得分:2)
您必须使用ModelState.Clear()
。当您重新发布视图时,其值将从ModelState
填充。
public ActionResult Save(Model m)
{
ModelState.Clear();
var db = new Db();
m.Prop = "New Value";
db.Save(m);
return PartialView("_ModelForm", m);
}