10

所以我只有HttpPost一个ActionResultEdit. 在完成它的事情(逻辑等)之后,我希望它重定向到另一个控制器。让我们说HomeController。这里是:

[HttpPost]
public ActionResult Edit(Chair chair, string xml)
{
    if (ModelState.IsValid)
    {
        try
        {
            _repository.EditChair(chair, xml);
            return RedirectToRoute(new { contoller = "Home", action = "index"});
        }
        catch (Exception ex)
        {
            //error msg for failed edit in XML file
            ModelState.AddModelError("", "Error editing record. " + ex.Message);
        }
    }
    return View(Chair);

}

我已经尝试过其他的东西,比如 ,,return RedirectResult()-但它仍然不断地从控制器返回索引视图,方法在 ( ) 中。RedirectToAction()RedirectToRoute("string")EditChairController

这样做的正确方法是什么?

4

2 回答 2

21

错字:

contoller = "Home"

应该

controller = "Home"

或者:

return RedirectToAction("index", "home");
于 2011-08-31T10:05:50.220 回答
5

哇,这是有史以来最奇怪的事情。代码是正确的(正如我确定的那样)。我尝试再次调试它,并注意到当我浏览代码时,调试器 thingo 只标记了一些代码:return RedirectToAction("Index",它实际上停在那里,并没有通过"Home");. 我还注意到我的断点实际上是黄色的,并且告诉我源代码与原始代码不一样?什么什么?它一直在说,通过数百次保存、重新启动、构建和重建。它突然接受了代码,我的断点变成了红色,代码工作得很好。

真的很抱歉浪费了你们的时间!

于 2011-08-31T11:55:54.377 回答