Отсюда вы можете просто добавить необходимую аннотацию данных в метод контроллера по мере необходимости.
я есть следующие два метода действий (упрощенный для вопроса):
[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», который заполняет данные представления, которые мне пришлось бы дублировать.
Какие-либо предложения?