所以我只有HttpPost
ActionResult
名为Edit
。在完成它的事情(逻辑等)后,我希望它重定向到另一个控制器。让我们说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")
- 但它仍然保持从Edit
方法所在的控制器返回索引视图({{1 }})。
做正确的方法是什么?
答案 0 :(得分:20)
错字:
contoller = "Home"
应该是
controller = "Home"
或:
return RedirectToAction("index", "home");
答案 1 :(得分:5)
return RedirectToAction("Index",
它实际上停在那里,并没有通过"Home");
。我还注意到我的断点实际上是黄色的,并且告诉我一些关于源代码与原始代码不一致的事情?什么什么?它一直在说通过数百次保存,重启,构建和重建。突然之间它接受了代码,我的断点变成了红色,代码运行得很好。
真的很抱歉让你的时间过去了!