Πριν φτάσεις στην έννοια του session και του application που έχουν να κάνουν με την μνήμη του server, ας μείνουμε στο ViewState που περιορίζεται στην σελίδα.
Κάθε σελίδα φορτώνεται την πρώτη φορά που ο χρήστης προσπαθεί να την προσπελάσει. Όταν ο χρήστης χρησιμοποιήσει κάποιο control επάνω στην σελίδα, τότε δημιουργείται ένα postback event. Ο μηχανισμός της σελίδας είναι σε θέση να το καταλάβει κατά την διάρκεια του Load event της σελίδας και να μην χρειαστεί να ξαναφορτώσει όλα τα δεδομένα της σελίδας. Αυτό γίνεται μόνο στην περίπτωση που είναι ενεργοποιημένο το ViewState.
Στην πραγματικότητα τα δεδομένα, που έχουν φορτωθεί με την αρχικά με την σελίδα και έχουν "cachαριστεί" μέσα σε αυτή και έχουν μεταφερθεί στον client. Οταν προκαλείται το postback ο μηχανισμός της σελίδας ξαναφορτώνει από το "cache" τα δεδομένα και δεν απαιτείται να το κάνεις δεύτερη φορά.
Στην περίπτωσή σου, την πρώτη φορά που ο χρήστης επισκέπτεται την σελίδα, φορτώνονται όλα τα δεδομένα και μπαίνουν στο viewstate της σελίδας. Ο χρήστης βλέπει τα εισερχόμενα, και όταν επιλέξει να δει τα εξερχόμενα και γίνει το postback ανάλογα το μηχανισμό ή τον κώδικα που έχεις γράψει διαβάζει τα cachαρισμένα δεδομένα ή τα φορτώνει ξανά. Αν έχεις γράψει εσύ τον κώδικα στο Load Event της σελίδας και δεν παίρνεις υπόψη σου ότι είναι postback τότε τα ξαναφορτώνεις. Αν έχεις αφήσει τα controls να το κάνουν μόνα τους, τότε δεν ξαναφορτώνουν τα δεδομένα.
Ο αυτόματος τρόπος είναι αρκετά καλός σε απόδοση, δεν κουράζει τον server και ξαναχρησιμοποιεί τα cachαρισμένα δεδομένα. Ο όγκος των δεδομένων όμως μπορεί να είναι ανασταλτικός παράγοντας, αφού γράφονται μέσα στην σελίδα που πάει στον χρήση, και όσο περισσότερα, τόσο μεγαλύτερη γίνεται.
George J.