Jde o to, že ViewState si pamatuje jen změny hodnot vlastností. Nepamatuje si už, kde která komponenta byla - je na stránce, aby komponenty vygenerovala úplně stejně, jak byly při posledním požadavku. Pokud tu komponentu z buňky takhle vymažeme, do ViewState se nic neuloží (jen se smaže ViewState té komponenty, ale to ASP.NET nějak přežije). Při příštím požadavku ale stránka nemůže vědět, že tam minule ta komponenta nebyla, a protože v tom sloucpi má definovaný HyperLinkField či co, ten tam vygeneruje nový HyperLink. Pokud buňce nastavíme vlastnost Text, do VS by se uložit měla, ale z VS se načte a nastaví ještě před tím, než se do té buňky vygeneruje ona komponenta. Pokud nastavíme Visible té komponentě uvnitř buňky, do VS se to uloží a po postbacku se to zase úspěšně načte. Ponaučení: Nemanipulovat se stromem komponent ve stránce, pokud to jde. Pokud si komponenty generujeme někde sami, musíme je při PostBacku vygenerovat stejně, aby se v nich hodnoty obnovily.
|