Zdravím všechny, chtěl jsem se zeptat zda by mi někdo neporadil s Updatepanely. Ve své aplikaci (ASP.NET(VB)) používám přehledových formulářů. Sloupce, a 100 řádků na stránku (Něco jako GridView), a po kliknutí na konkrétní záznam (řádek v GridView) se otevře nové okno s editačním formulářem, který reprezentuje pouze jeden konkrétní záznam v databázi. Mám ale od uživatelů požadavek, že by chtěli editovat záznamy už na úrovni přehledového formuláře. Problém byl v tom, že na jednotlivá pole editačního formuláře se vázaly různé udásti, jako např. kontrola validity datumu, čísla, výběru z číselníku, a pod. Toto se mi částečně podařilo. Každý řádek je UpdatePanel, obsahující stená pole jako editační formulář, jen srovnané do tabulky. Sice to funguje, ale ne podle mých představ. Problém je v tom, že mám dlouhou odezvu mezi tím co se požadavek odesílá na server a odpovědí(u výše uvedených polí, která mají nastaven autopostback uživatel vždy vidí 2 vteřiny jen "čekejte", a to mu práci bohužel neurychlí). Podle mě je velkým problémem ViewState. Zdá se totiž, že 2. vteřinová prodleva se o něco více natahuje po každém PostBacku stránky. Ale po vypnutí ViewState se mi vždy do výše uvedených polí vrátí původní hodnota. Rychlosti nepřidalo ani uložení ViewState mimo HTML. Neměl by jste někdo nápad jak to vyřešit? Nebo zda něco nedělám špatně? Jsem vlastně ještě začátečník... Pro úplnost pošlu ještě životní cyklus přehledového formuláře. Page_Init: Dynamické vytvoření Updatepanelů, Controlů, Svázání Controlů s Handlery Page_Load: Generování SQL Dotazu na základě uživatelem definovaných filtrů. Pokud není PostBack tak: Page_LoadComplete: Zavedení SQL dotazu naplnění controlů hodnotami z databáze. Předem vám děkuji za pomoc, a omlouvám se že je to tak dlouhé... Petr
|