代码之家  ›  专栏  ›  技术社区  ›  Chris James

ASP MVC上的表单值未更改

  •  0
  • Chris James  · 技术社区  · 15 年前

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

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

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

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

    2 回复  |  直到 15 年前
        1
  •  2
  •   aolde    15 年前

    尝试执行重定向操作,而不是直接返回视图。

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

    另外,您发送的值与 listingName 在这两种情况下(验证错误和成功)。这是正确的吗?

        2
  •  1
  •   Robban    15 年前

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

    像这样:

    return View("Edit", NextId);
    

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