1

私はこのコントローラーを持っています:

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

    return PartialView("_ModelForm", m);
}

何らかの理由で、コントローラー内で が更新されたにもかかわらず、m.ではなく が応答で返されます。"Old Value"Prop"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 に答える