Проблемы с RedirectToAction MVC2 - невозможно неявно преобразовать тип 'System.Web.Mvc.RedirectToRouteResult' в 'System.Web.Mvc.ViewResult' - PullRequest
14 голосов
/ 03 июня 2011

Я получаю эту ошибку при попытке использовать 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);

    }

С уважением

Лиам

1 Ответ

21 голосов
/ 03 июня 2011

Попробуйте изменить public ViewResult Edit(Customer customer) на public ActionResult Edit(Customer customer)

ViewResult является производным от ActionResult и может возвращать только представления. Поскольку ваш код может возвращать View или Redirect, вы должны использовать ActionResult. См. этот ответ для получения дополнительной информации.

...