V tom případě je problém v tom, že máte ve stránce šíleně moc dat a ViewState je větší než 4MB. Proto se neodešle. Mít ve stránce 4MB velký ViewState svědčí o špatném návrhu aplikace. Proč na stránce potřebujete tolik dat, měl byste je třeba stránkovat po 50, 100 záznamech nebo tak něco. Nepoužívejte ale stránkování pomocí GridView, ten si z DB vytáhne všechna data a pak je teprve vyfiltruje, stránkujte už v SQL dotazu proti databázi. Probliknutí stránky je dáno samotným principem protokolu HTTP a jeho funkce. Při kliknutí na tlačítko se stránka odešle na server, ten provede požadované akce, a vrátí celou stránku novou. Prohlížeč nemůže vědět, že je skoro stejná, proto ji prostě vykreslí celou znovu. Pokud máte hodně dat, může být použití tecnhologie AJAX na místě, pokud použijete AJAX, pak se načtená stránka odešle na pozadí a zpátky přijde víceméně jen to, co se změnilo, stránka tedy neproblikne. Pokud data z DB načítáte kódem při každém požadavku, pak můžete u GridView vypnout ViewState, aby stránka nebyla tak velká.
|