/ / jQuery blockUI plugin nefunguje v ASP.NET submit validator Chrome / IE9 - javascript, jquery, asp.net, blockui

jQuery blockUI plugin nefunguje v ASP.NET submit validator Chrome / IE9 - javascript, jquery, asp.net, blockui

Používam jquery ajax v asp.net CustomValidator na dotaz servera. Pretože to môže chvíľu trvať, pokúšam sa blokovať používateľské rozhranie pomocou správy BlockUI.

Avšak jeho nefunguje v Chome & IE9. Displej nie je zablokovaný, kým sa neuskutoční hovor ajax, a potom sa okamžite vymaže. Nastavil som nastavenie vyblednutia na hodnotu 0. Pracuje v prehliadači Firefox a funguje to v prehliadači Chrome, ak na linku, ktorá zablokuje displej, potom prejde cez ne.

Tento kód funguje správne, keď je pripojený k akliknutím na tlačidlo. Takže hádam, že problém súvisí s tým, že sa nachádzate vo vnútri udalosti odoslania, alebo sa nachádzate vo vnútri reťazca validácie asp.net nazvaného podaním udalosti. Hoci skutočnosť, že funguje pri prekročení kódu, môže znamenať časovač, ktorý sa niekde skrýva.

Avšak vedel som, že mi to neumožnilo vyriešiť problém - takže ak by niekto mohol pomôcť, bolo by to veľmi oceňované.

odpovede:

0 pre odpoveď č. 1

OK, problém bol v skutočnosti synchronizovanýAjax call, ktorý som odvtedy zistil, zastaví akúkoľvek aktivitu prehliadača vrátane aktualizácií zobrazovania! Normálne by som nemal používať synchrónny hovor ajax, ale v takomto prípade, pretože v validátore potrebuje zablokovať odoslanie formulára.

V tejto téme sa diskutovalo o rôznych možnostiach riešenia reálny problém :)

Ako urobím jQuery blokovanie volania AJAX bez async = false?

Ďalej si všimnite, že sa snažíte zavolať na strane službyvalidácia prostredníctvom ajax počas procesu odoslania je v skutočnosti chybný dizajn, pokiaľ nie je pripravený stavať potrebný štátny stroj na zrušenie procesu odoslania, potom zablokovať používateľské rozhranie, kým sa vrátí ajax a potom pokračovať v procese odoslania alebo nie.