У меня есть следующие два метода действий (упрощенный вопрос):
[HttpGet]
public ActionResult Create(string uniqueUri)
{
   // get some stuff based on uniqueuri, set in ViewData.  
   return View();
}
[HttpPost]
public ActionResult Create(Review review)
{
   // validate review
   if (validatedOk)
   {
      return RedirectToAction("Details", new { postId = review.PostId});
   }  
   else
   {
      ModelState.AddModelError("ReviewErrors", "some error occured");
      return RedirectToAction("Create", new { uniqueUri = Request.RequestContext.RouteData.Values["uniqueUri"]});
   }   
}
Итак, если проверка прошла, я перенаправляюсь на другую страницу (подтверждение).
Если возникает ошибка, мне нужно отобразить ту же страницу с ошибкой.
Если я делаю return View(), отображается ошибка, но если я делаю return RedirectToAction (как указано выше), он теряет ошибки модели.
Я не удивлен этой проблемой, просто интересно, как вы, парни, справляетесь с этим?
Я мог бы, конечно, просто вернуть тот же вид вместо перенаправления, но у меня есть логика в методе "Создать", который заполняет данные представления, которые мне придется дублировать.
Любые предложения?