ASP.NET má v sobě chybu, že pokud máme na stránce více prvků ValidationSummary (pro různé ValidationGroup) a přidáme vlastní chybu pomoci
ModelState.AddModelError("", "Text chyby")
tak se přidaná chyba zobrazí ve všech prvcích ValidationSummary tj. vícekrát. Proto nezbývá než si text chyby zobrazovat nějak jinak (např. nastavovat text prvku Literal), ale pak ModelState.IsValid zůstane true. V důsledku toho je pak před renderováním stránky znovu volána metoda určená jako SelectMethod prvku FormView použitého pro vykreslování formuláře a ta "přeplácne" aktuální formulářová data původními daty z db. Jedno řešení jak to obejít je přidávat "prázdnou" chybu
ModelState.AddModelError("", "");
což způsobí renderování prázdného li ve všech ValidationSummary (což snad tolik nevadí). Neznáte náhodou někdo lepší řešení?
|