1

我有这个控制器:

public ActionResult Save(Model m)
{
    var db = new Db();
    m.Prop = "New Value";
    db.Save(m);

    return PartialView("_ModelForm", m);
}

出于某种原因,尽管m在控制器中更新了"Old Value"ofProp在响应中返回而不是"New Value".

我查看了 HTTP 响应,旧值作为响应的一部分返回("New Value"更改被忽略),所以问题在于它缓存在客户端上。

我试图用 OutputCache 属性装饰控制器,但没有成功。

db.SaveProp没有改变属性的副作用。

4

1 回答 1

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);
}
于 2013-09-09T08:40:42.057 回答