Welcome to MSDN Blogs Sign in | Join | Help

Quiz : ViewState - hvordan var det nu lige det var med det?!?

Se... Nu rammer vi jo så en lille utrilstrækkelighed ved quiz'er på nettet :o)
Det er nemlig en forudsætning for at deltage i quiz'en, at du IKKE prøver nedenstående af, men blot giver dit bedste bud på hvad du regner med der sker.

Vi starter med 5 X Indsættelse af en TextBox, og spørgsmålet til alle 5 er:
Når siden vises i browseren, hvilke data er så blevet renderet til det skjulte felt __VIEWSTATE, og hvorfor?

Og husk - ikke noget med at prøve det af inden du svarer ;o)

1)
Følgende markup:

<asp:TextBox ID="t0" runat="server" Text="En masse tekst"></asp:TextBox>

2)

Følgende markup:

 

<asp:TextBox ID="t1" runat="server"></asp:TextBox>

 

Og følgende kode:

protected void Page_Load(object sender, EventArgs e) { t1.Text = "En masse tekst"; }

 

3)

Følgende kode:

 

protected void Page_Load(object sender, EventArgs e) { t2.Text = "En masse tekst"; } protected override void OnInit(EventArgs e) { base.OnInit(e); t2 = new TextBox(); t2.ID = "t2"; form1.Controls.Add(t2); }

 

4)
Følgende kode:

 

protected void Page_Load(object sender, EventArgs e) { TextBox t3 = new TextBox(); t3.ID = "t3"; t3.Text = "En masse tekst"; form1.Controls.Add(t3); }

 

5)
Følgende kode:

 

protected void Page_Load(object sender, EventArgs e) { TextBox t4 = new TextBox(); t4.ID = "t4"; form1.Controls.Add(t4); t4.Text = "En masse tekst"; }

 

Kom med et par bud på ovenstående, og så må vi se hvad denne quiz kan udvikle sig til (der er jo andet i ASP.NET end tekstbokse ;o).

Og en sidste ting... Der er igen mulighed for sådan et sæt her:

Mvh
Jeppe

Published Monday, July 02, 2007 11:35 AM by jepper
Filed under: ,

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# re: Quiz : ViewState - hvordan var det nu lige det var med det?!?

Tuesday, July 10, 2007 9:37 AM by Jesper Blad Jensen

I nr. 1-3 vil tekst propertien blive gemt, men i 4 og 5, vil den ikke da vores tekst box rammer vores kontrol træ - EFTER load viewstate.

Altså de skal som vist i nr. 3 lave i onInit.

Håber det er rigtigt :D

# re: Quiz : ViewState - hvordan var det nu lige det var med det?!?

Tuesday, July 10, 2007 11:06 AM by jepper

Hej Jesper :o)

Første bud på banen - cool!

Jeg håber der kommer et par stykker til ;o)

Mvh

# re: Quiz : ViewState - hvordan var det nu lige det var med det?!?

Tuesday, July 10, 2007 7:04 PM by Casper Stendal

Ohøj!

Mit bud er at både 1, 2, 3 og 4 gemmes i viewstate, hvorimod jeg er lidt i tvivl med nr. 5, men gætter på at teksten aldrig vil blive vist i tekstboksen og derfor heller ikke gemt i viewstate.

Omkring "load viewstate" er det korrekt at det sker før Page_Load (muligvis også før Page_Init), men det der bliver sendt til sidens __VIEWSTATE felt er det som gemmes i viewstate under "save viewstate"(?), hvilket sker efter Page_Load.

Det er ihvertfald mit bud :)

# re: Quiz : ViewState - hvordan var det nu lige det var med det?!?

Wednesday, July 11, 2007 6:05 AM by jepper

Hej Casper :o)

Tak for buddet! - Det er helt korrekt at SaveViewState kaldes efter Load (lige før Render), og LoadViewState kører efter inden, men før Load.

Hvorfor tror du ikke du får teksten at se i eksempel 5?

Der er for øvrigt masser af plads til flere bud herude ;o)

Er der andre der har et et?

Mvh

Jeppe

# re: Quiz : ViewState - hvordan var det nu lige det var med det?!?

Wednesday, July 11, 2007 8:13 AM by Nicolai (DR_CHAOS)

Mit bud er at ingen af de 5 tekstbokse's "text" property kommer med i viewstate.

Grunden til det er at værdierne kommer med i Request.Form og derfor ikke sendes i viewstate.

Der er sikkert en mere fin forklaring på det, men den overlader jeg til andre :)

# Quiz : ViewState - Trin2

Wednesday, July 11, 2007 8:23 PM by

Nu skrev Nicolai jo ganske rigtig, at der ikke renderes noget til __VIEWSTATE i eksemplerne skrevet i

# re: Quiz : ViewState - hvordan var det nu lige det var med det?!?

Wednesday, July 11, 2007 8:24 PM by jepper

BINGO!

Det er helt korrekt det Nicolai skriver... INGEN af ovenstånde eksempler medfører at der bliver renderet noget til __VIEWSTATE!

Men... forklaringen er - som Nicolai selv skriver - ikke nyanceret nok, men vi er nu klar til trin 2 af denne Quiz (jeps - der er adskillige ting der skal dækkes af inden vi er færdige her ;o).

Trin2 starter her http://blogs.msdn.com/jepper/archive/2007/07/11/quiz-viewstate-trin2.aspx

Håber i stadig vil være med :o)

Mvh

Jeppe

Leave a Comment

(required) 
required 
(required) 
 
Page view tracker