我在尝试使用RedirectToAction时收到此错误,任何人都可以提供有关为什么会发生这种情况的任何建议,我之前使用过这个没有任何问题,我一定是缺少一些东西。
无法将类型'System.Web.Mvc.RedirectToRouteResult'隐式转换为'System.Web.Mvc.ViewResult'
[HttpPost]
public ViewResult Edit(Customer customer)
{
if (ModelState.IsValid)
{
customersRepository.SaveCustomer(customer);
TempData["message"] = customer.CustomerName + " has been saved.";
return RedirectToAction("Index");
}
else //validation error, so redisplay the same view
return View(customer);
}
此致
利安
答案 0 :(得分:21)
尝试将public ViewResult Edit(Customer customer)
更改为public ActionResult Edit(Customer customer)
ViewResult派生自ActionResult,只能返回Views。由于您的代码可以返回视图或重定向,因此您应该使用ActionResult。有关详细信息,请参阅this answer。