Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Čudna stvar sa ViewState-om

[es] :: .NET :: Čudna stvar sa ViewState-om

[ Pregleda: 889 | Odgovora: 5 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

jablan
Mladen Jablanović
Beograd

Član broj: 8286
Poruke: 3322
*.yubc.net.

Sajt: blog.radioni.ca


Profil

icon Čudna stvar sa ViewState-om17.03.2005. u 13:09

Dakle, čudna stvar se događa ili ja previđam neku očiglednu stvar...

Na veb formu dodam text box i postavim mu EnableViewState na false.

Dodam i jedan button, čisto da može da se izazove postback.

Startujem aplikaciju.

Upišem nešto u textbox.

Kliknem dugme.

Izvrši se postback.

I sad:

U textboxu i dalje stoji vrednost koju sam ukucao, iako mu je isključeno učitavanje viewstate-a.

Zašto?!
17.03.2005. u 13:09 

mmix
Miljan Mitrovic
Software Architect
Pancevo, Srbija

SuperModerator
Član broj: 17944
Poruke: 2407
*.logic.bm.



Profil

icon Re: Čudna stvar sa ViewState-om17.03.2005. u 14:31
Previđaš očiglednu stvar.

Nakon što se objekat stranice instancira u pojednostavljenom scenariju kontrola prvo učita sve što ima (ako ima) iz ViewState-a, a zatim učita vrednosti koje postoje u POST paketu, a za TextBox to je vrednost ukucana u polje. Ako hoćeš da obrišeš sadržaj TextBox-a na svaki postback moraćeš da postaviš Text na "" u Page_Load eventu.
▪ The quicker a phone is answered in sales, the slower it's answered in customer services - Brownridge's Law
▪ Democracy is a device that ensures we shall be governed no better than we deserve - George Bernard Shaw
▪ To err is human--and to blame it on a computer is even more so - Robert Orben
17.03.2005. u 14:31 

jablan
Mladen Jablanović
Beograd

Član broj: 8286
Poruke: 3322
*.yubc.net.

Sajt: blog.radioni.ca


Profil

icon Re: Čudna stvar sa ViewState-om17.03.2005. u 14:48
Hm, pa jeste da sam je prevideo, ali nije da je baš očigledna.

Tj. odakle to da kontrole učitavaju i ono što nađu međ' POST parametrima? Deder neki hint, link na MSDN, bilo koje racionalno objašnjenje...
17.03.2005. u 14:48 

mmix
Miljan Mitrovic
Software Architect
Pancevo, Srbija

SuperModerator
Član broj: 17944
Poruke: 2407
*.logic.bm.



Profil

icon Re: Čudna stvar sa ViewState-om17.03.2005. u 18:08
Imam to u ovoj knjizi koju šatro proučavam za MCSD (PrepLogic serija od QUE-a), online sam našao samo ovo, baci pogled na ovaj link:

Web Forms Page Processing u odeljku "Stages in Web Forms Processing", imaš liniju:

ASP.NET Page Framework Initialization
The page's Page_Init event is raised, and the page and control view state are restored.
During this event, the ASP.NET page framework restores the control properties and postback data.

Tehnički, da se ne dešava dodela vrednosti iz postback-a, nikad ne bi mogao da dođeš do unesene vrednosti preko instance TextBox objekta, sem da ručno pretražuješ Forms kolekciju kao u stara dobra ASP vremena
▪ The quicker a phone is answered in sales, the slower it's answered in customer services - Brownridge's Law
▪ Democracy is a device that ensures we shall be governed no better than we deserve - George Bernard Shaw
▪ To err is human--and to blame it on a computer is even more so - Robert Orben
17.03.2005. u 18:08 

jablan
Mladen Jablanović
Beograd

Član broj: 8286
Poruke: 3322
195.252.80.*

Sajt: blog.radioni.ca


Profil

icon Re: Čudna stvar sa ViewState-om17.03.2005. u 21:54
Citat:
mmix: Tehnički, da se ne dešava dodela vrednosti iz postback-a, nikad ne bi mogao da dođeš do unesene vrednosti preko instance TextBox objekta, sem da ručno pretražuješ Forms kolekciju kao u stara dobra ASP vremena :)

Otprilike kapiram. No, zar ne bi tehnički i moglo, dodavanjem još jednog polja na kontrolu (umesto pretraživanja Forms kolekcije), koje bi automatski dobijalo vrednost prosleđenu kroz parametre zahteva. Polje Text bi bilo prazno, osim u slučaju korišćenja viewstate-a, kada bi .NET automatski kopirao iz ovog drugog polja u polje Text.

Mislim, uporan sam jer se cela ova priča protivi mojoj laičkoj logici da ViewState služi za pamćenje vrednosti i ubeđenju da, kad mi ustrebaju, mogu da dobijem staromodne ASP-like kontrole isključivanjem istog.
17.03.2005. u 21:54 

mmix
Miljan Mitrovic
Software Architect
Pancevo, Srbija

SuperModerator
Član broj: 17944
Poruke: 2407
*.logic.bm.



Profil

icon Re: Čudna stvar sa ViewState-om22.03.2005. u 19:35
Citat:
jablan: Otprilike kapiram. No, zar ne bi tehnički i moglo, dodavanjem još jednog polja na kontrolu (umesto pretraživanja Forms kolekcije), koje bi automatski dobijalo vrednost prosleđenu kroz parametre zahteva. Polje Text bi bilo prazno, osim u slučaju korišćenja viewstate-a, kada bi .NET automatski kopirao iz ovog drugog polja u polje Text.


Sta cemo kad imas obe vrednosti? Dakle uneses jednu vrednost, uradis postback, ta vrednost udje u viewstate, korisnik promeni polje i uradi novi postback i eto belaja

Citat:
jablan:
Mislim, uporan sam jer se cela ova priča protivi mojoj laičkoj logici da ViewState služi za pamćenje vrednosti i ubeđenju da, kad mi ustrebaju, mogu da dobijem staromodne ASP-like kontrole isključivanjem istog.


ViewState sluzi za sta mu ime kazuje, da pamti stanje "view-a", tj izgleda kontrole. Posto se to ustvari svodi na sve propertije sem glavne vrednosti jeste mozda malo zbunjujuce, ali sljaka. Nazalost, meni nije poznato da se asp.net moze spreciti da prebaci POST podatke u kontrole, ali ne vidim ni neku korist od sprecavanja toga. Narocito sto cim se odvojis od "prve linije" kontrola na npr. editable grid u panelu, IDovi kontrola dobiju dinamicke vrednosti tipa __grid1_col2_edit (lupam ovo napamet ali nisam daleko). Muka mi od same pomisli da ovo treba da parsiram rucno.
Cela prica oko asp.net-a je u stvari manje ili vise uspesan pokusaj da se stateless protokol kakav je http sto vise priblizi statefull modelu winforms aplikacija. Odrzavanje primarne vrednosti kontrola je jedna od manje zapazenih osobina statefull modela (valjda zato sto je uzimamo zdravo za gotovo).
▪ The quicker a phone is answered in sales, the slower it's answered in customer services - Brownridge's Law
▪ Democracy is a device that ensures we shall be governed no better than we deserve - George Bernard Shaw
▪ To err is human--and to blame it on a computer is even more so - Robert Orben
22.03.2005. u 19:35 

[es] :: .NET :: Čudna stvar sa ViewState-om

[ Pregleda: 889 | Odgovora: 5 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.