1

我有以下 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 的 Model,但是在渲染结果中,仅更新了字段验证字段,未渲染字段值更改,有人可以帮助我如何申请这个变化?

4

1 回答 1

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);
}
于 2013-05-30T06:31:57.750 回答