webForumDet fria alternativet

ViewState behåller inte sitt värde?

.NETur .NET

4 svar · 260 visningar · startad av Nöff

Medlem sedan nov. 2003569 inlägg
Frågan#1

Lite pseudokod :e

private void DropDownList_OnIndexSelectedChange()
{
ViewState["bollo"]="solo";
}

private void Button_Click() 
{
if(ViewState["bollo"]="solo")
{
 Response.Write("Du är Solo snubben ;)")
}

}

Men mitt problem är att ViewState["bollo"] inte behåller sitt värde när jag trycker på "Button", den är tom?, hur kommer detta sig?, eller är det jag som gjort nåt fel?..

Förresten, hur länge lever en ViewState?, den överlever inte en Response.Redirect("till-samma-sida")?, måste fråga för säkerhets skull :l

Medlem sedan juni 20011 732 inlägg
#2

Ser ju rätt ut (förutom att det ska vara två likamed-tecken "==" i ifsatesen men jag utgår från att det är pseudokoden som komprimerades lite ;) ). Du är säker på att du kör funktionen "onindexchange..."?

Viestate överlever hur många postback som helst, så länge sidan finns på klienten finns viewstaten kvar (en av fördelarna framför sessions). Koden ligger ju som du kanske vet i ett gömt inputformulär. Eftersom response.redirect inte är en postback utan exekverar sidan på nytt så gissar jag dock att även viewstaten försvinner.

Medlem sedan nov. 2003569 inlägg
#3

Hmm, i VS så finns det en egenskap för "DOCUMENT", och det är EnableViewStateMac . Jag har ViewState på de andra, Men ViewStateMac är False, kan det ha något med det att göra?.

Medlem sedan juni 20011 732 inlägg
#4

Enligt dokumentationen så är viewstatemac en extra säkerhetsfunktion som kontrollerar att viewstaten inte har ändrats när den skickas tillbaka, men det ska inte ha någon inverkan på viewstaten i sig. Vet inte vad du gör för fel, din kod fungerar för mig...

Medlem sedan nov. 2003569 inlägg
#5

Hehehe, jag upptäckte felet :) , det var en illasinnad IF sats som var felet :e

127 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)