VIEWSTATE - Problem   otázka

ASP.NET WebForms

Ahojte

Uz som mal pocit, ze VIEWSTATE chapem, ale nie je mi jasna jedna vec.

Preco sa mi v tomto kode http://prntscr.com/2w12i pri kazdom postbacku zvacsi VIEWSTATE ?

Pokial necham Labelu zobrazovat napr SelectedValue z DropDownListu, pole ostava rovnake.

http://prntscr.com/2w14d

Ten kod nema robit nic, je to len na vyskusanie.

Dakujem

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Je to zcela logické. ViewState ukládá stav formuláře (například obsah labelu). Například při prvním požadavku je pro zjednodušení téměř prázdný. Dejme tomu obsahuje ABC.

Máte tedy první zobrazení formuláře a ve viewstate je:ABC

Provede se postback a vy ve Form_Load vezmete ViewState (ABC) a vložíte te ho do labelu. A v tuto chvíli se ViewState zvětší, protože měníte stav a přidáváte do hodnoty labelu to, co je ve ViewState. Tedy hodnota ViewState naroste sama o sebe :-) Například zjednodušeně:ABC,Label.Text=ABC

A takhle se to opakuje. Při dalším postbacku vezmete opět ViewState (ABC,Label.Text=ABC) a vložíte ho do labelu. Tím se změní stav a aktuální viewstate je zase delší:ABC,Label.Text=ABC,Label.Text=ABC

A tak to pokračuje pořád dokola.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

A jo ... Ja som vedel, ze to bude nieco s tym, ale nejak mi to nevychadzalo. Bral som, ze vo ViewState nieco je, hodnota je stale rovnaka a teda sa nebude nebude menit ani to pole. Ked som si to teraz podla Vas rozobral, je mi to jasnejsie. Dakujem :)

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback