Отсюда вы можете просто добавить необходимую аннотацию данных в метод контроллера по мере необходимости.

я есть следующие два метода действий (упрощенный для вопроса):

[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 (как указано выше), он теряет ошибки модели.

Я не удивлен этой проблемой, просто интересно, как вы, ребята, справляетесь с этим?

Я мог бы, конечно, просто вернуть тот же View вместо перенаправления, но у меня есть логика в методе «Create», который заполняет данные представления, которые мне пришлось бы дублировать.

Какие-либо предложения?

Ответы на вопрос(9)

Ваш ответ на вопрос