Jag har en bokningsdialog som består av ett antal steg med några olika postbacks/steg.
De olika värderna för tex. sök-kriterier sparar jag en en "Criteria"-Structure som jag sedan sparar ner i en ViewState.
De olika valen som görs (Tex. i steg 2 väljer man stad, i steg 3 hotell, steg 4 rum osv) sparar jag också i dels viewState, men jag använder även de databundna kontrollerna för att återhämta vald data. Exempel på detta kan vara att jag har data i en Repeater, sen kan jag hämta upp data på radnivå från en "LinkButton" tex. för att få ut en viss RepeaterItem och andra kontroller den.
Frågan är nu...hur pass bra/dåligt är detta tycker ni?
Självklart finns det flera andra sätt att göra det på. Tex:
1. Spara all data i databasen mellan varje val och sen hämta upp/skriva tillbaka allt eftersom
2. Spara ALLT i klasser som läggs i ViewState.
3. Spara ALLT i klasser som läggs i Session.
4. Serializera till XML och spara i ViewState/Session.
Ja, det finns ju mängder med sätt.
Jag har i nuläget inte upplevt några problem med mitt förfarande, utan vill mest ha andras synvinklar och inputs på det!
Ett sätt att göra det är att lägga varje steg i en Panel. När du går till nästa steg släcker du den Panel du var på och tänder den med nästa steg. När du kommer till sista steget så plockar du alla värden och stoppar dem i databasen.
Fördelen med detta är att du slipper onödiga databasanrop och du slipper skapa klassobjekt flera gånger.