postback (ASP.NET)

Tags:    asp.net

Hej Alle.

Er det nogle der kan forklare mig, hvordan dette har indflydelse på c# programmering under ASP.NET.

Så vidt jeg ved, så er et postback når klienten henvender sig til serveren, for at få vist en side eller andet. Samtidig er der noget om at postback har indflydelse på hvordan data bliver gemt i variabler og sådan noget. Men er der nogle der kan uddybe, hvilke data bliver gemt under et postback og hvad bliver ikke?

Tak på forhånd.



2 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Hejsa,
Postback er et trick fra Microsoft. Hvis vi spoler tiden lidt tilbage til før der var postback, havde man det man kalder det "stateless net" (tilstandsløs, dvs. siden ved ikke hvilken "tilstand" den er i, fx. rediger bruger), det vil sige at en hjemmeside var dum og den kun kunne præsentere HTML. Spoler vi frem igen er en Hjemmeside stadig dum, men nu prøver Microsoft med Postback og Viewstate at lave en hjemmeside der kender til sin tilstand, fx, så den ved den er i "rediger" tilstand, eller "detail tilstand".

Når en form submittes (klikker på en submit knap) så kommer alle de HTMl elementer (Text, checkbox, osv) over i den side den poster til. Dette er standard HTMl (gode gammeldags). Hvis man kigger i asp.net html, kan man se at alle asp.net elementerne har en attribut (runat="server"), som betyder at de laver en "postback", en postback er en submit, så alle dine variable gemmes først i viewstate, og så sendes de til serveren, hvor du kan arbejde på dem, så sendes de tilbage til din Viewstate, og HTMl siden vises igen, og asp.net magien sørger nu for at læse værdierne fra din viewstate og sætte dem ind igen i dine kontroller/elementer.

Fordelen er at hvis man kommer fra en "traditionel" applikationsudvikling (ikke web) ved man at når man klikker på en knap skal man beskrive hvad man vil på den knap, det samme kan man så nu i asp.net også, dobbeltklikk på din knap og du får en eventhandler,hvor du kan tilgå tekstbokse og alle variable. Som udgangspunkt bliver alle elementer inde i din form sendt med til serveren (de skal have runat="server" og et ID).

Giver det mening?



Nogen der kan forklare mig overstående :p

Et eksemple jeg har er.
Jeg har lavet en asp.net side, hvor jeg indlæser nogle tabeller fra et arraylist. Men når man trykker refresh (f5) så loader den siden som det var første gange, og appender de samme tabeller til de forrige, istedet for at overskrive dem så om sige. Så de står flere gange. Dette er så vidt jeg forstår pga. af postbacks. Men jeg forstår ikke rigtig denne process.



Indlæg senest redigeret d. 08.08.2011 14:50 af Bruger #16700
t