表单值不会在ASP MVC上更改

时间:2009-08-26 14:01:31

标签: c# asp.net-mvc

我有一个编辑表单,发布时,如果成功则应转到下一条记录

以下是控制器中代码的片段:

    if (issues.Count == 0)
    {
        Service.Save(item);
        Service.SaveChanges();
        return Edit(NextId, listingName);
    }
    else
    {
        ModelState.AddRuleViolations(issues);
    }

    return Edit(item.id, listingName);

下一条记录的ID正确传递给操作,但自动生成的表单仍然具有旧项目的值,而不是新项目的值。我调试了它,项目正在加载并传递给视图。

2 个答案:

答案 0 :(得分:2)

尝试执行RedirectToAction而不是直接返回View。

return RedirectToAction("Edit", new { id = NextId, listingName = listingName });

此外,在两种情况下,您都会发送相同的listingName值(验证错误和成功)。这是对的吗?

答案 1 :(得分:1)

您是否尝试过显式返回编辑视图而不是返回方法调用?

像这样:

return View("Edit", NextId);

也许它仍然包含旧发布的值并尝试相应地重新填充模型...