Здравствуйте, Ocenochka, Вы писали:
O> Только получается, что после не валидного поста, рендеринга формы с валидационными сообщениями
O> можно исправить форму, а потом нажать F5 (browser.refresh) и получить во-первых сообщение-подтверждение браузера о повторной
O> отправке, а во-вторых после отправки будут предыдущие ошибки валидации, не смотря на изменения полей формы, но это я наверно уже придираюсь.
O> Спасибо, попробую такой вариант.
Попробуйте както так, мои добавления выделены жирным
ММ>>[HttpGet]
public ActionResult A()
{
var model = TempData["mymodel"] != null ? ((Model) TempData["mymodel"]) : new Model();
return View(model);
}
[HttpPost]
public ActionResult A(Model model)
{
if(!ModelState.IsValid)
{
TempData["mymodel"] = this.ModelState;
return RedirectToAction(MVC.ThisController.A);
}
return RedirectToAction(MVC.ThisController.C);
}
[HttpGet]
public ActionResult C()
{
var model = TempData["model"];
return View(model);
}
Теперь в случае, если валидация не пройдена, пользователя будет перекидывать обратно на A, сохраняя при этом данные.