Tomu rozumím, ale jde mi o to, že mám 1 formulář, který je sdílený napříč všemi view, tzn je v _Layoutu pomocí @Html.Partial("_Form", new Model()) a ne jako samostatné view. Tzn, když ModelState není validní, nemohu zavolat View(model). Proto jsem zkoušel kód níže, nicméně končím v situaci, že View nebylo nalezeno. Vím, že do "return PartialView" mohu dát název daného PartialView, nicméně to se mi pak zobrazí pouze daný formulář, nikoliv celá stránka. Chápu, že bych to celé mohl vyřešit ajaxem (když už získávám formulář zpět). // Controller
[HttpPost]
[ValidateAntiForgeryToken]
public PartialViewResult Odeslani(Model model)
{
if (ModelState.IsValid)
{
try
{
// Akce
}
catch (Exception ex)
{
ModelState.AddModelError("", ex.Message);
}
}
return PartialView(model);
}
Mým cílem bylo docílit chování jako u MasterPage ve Web Forms, tedy že mám v MP formulář, odešle se postback a když data nejsou validní, zobrazí se tatáž stránka s předvyplněnými daty. Asi něco chápu špatně... :)
|