Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Viewstate enquiry

Îåêßíçóå áðü ôï ìÝëïò Δημήτρης Μπούνδρης. Τελευταία δημοσίευση από το μέλος dStellakis στις 26-06-2008, 17:58. Υπάρχουν 2 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  26-06-2008, 15:24 43114

    Viewstate enquiry

    Καλησπέρα,

    Γιατί όταν θέτω την τιμή ενός TextBox για το property EnableViewState σε false οι νέες τιμές που δίνω εξακολουθούν να "ταξιδεύουν" στα roundtrips;

    Eπίσης ποια server side controls έχουν by default EnableViewState false;


    Dimitris Boundris
    Software Engineer
  •  26-06-2008, 17:52 43118 σε απάντηση της 43114

    Απ: Viewstate enquiry

    Καλησπέρα Δημήτρη,

    Γι αυτό το λόγο λέγονται Server Controls γιατί "επικοινωνούν" με το Server από όπου σερβίρεται το site. Το Viewstate δεν έχει σχέση με αυτή την επικοινωνία. Το Viewstate χρησιμοποιείται ως ένα trick ώστε τα controls να διατηρούν το state τους σε ένα state-less μοντέλο όπως αυτό του Web. Αν θες controls που να μην έχουν επικοινωνία με το server ή να ελέγχεις εσύ απόλυτα το τι ταξιδεύει σε κάθε περίπτωση τότε θα πρέπει να χρησιμοποιήσεις τα παλιά καλά Html controls.

    Όσο για το ποιά controls έχουν EnableViewstate false, νομίζω ότι όλα τα Server Controls ξεκινάνε με default τιμή true. Ενώ τα Html controls δεν υποστηρίζουν καθόλου. Αν όμως θες μπορείς να απενεργοποιήσεις αυτό το feature κεντρικότερα είτε σε επίπεδο σελίδας είτε ακόμη και σε επίπεδο site.

     


    MSc Konstantinos Pantos
    MCP Software Engineer
    http://blog.pantos.name
    http://kostas.pantos.name
  •  26-06-2008, 17:58 43119 σε απάντηση της 43114

    Απ: Viewstate enquiry

    Αν καταλαβαίνω καλά ενννοείς ότι, παρόλο που στο TextBox εχεις κανει disable το ViewState, η τιμή που εισάγεις γίνεται POST στον server.

    Αυτή η συμπεριφορά ειναι φυσιολογική, μια που το ViewState χρησιμέυει για να κρατά το προηγούμενο state (π.χ τις τιμές) ενος control, ώστε να μπορέσει να το ξανασυνθέσει στο postback.

    Η τιμή που βλέπεις να περνά στον server σε κάθε POST δεν είναι η τιμή που έρχεται απο το ViewState αλλά η τιμή που έχεις εισάγει στο TextBox.

    Για να το πω πιο απλά, χωρις ViewState θα περνά στον server κάθε φορά η τιμή που εισάγεις στο TextBox, αλλά οταν ξαναφορτώνεται η σελίδα το TextBox αυτό δεν θα "θυμάται" την τιμή που είχες εισάγει μια που δεν εχει ενεργό το ViewState.

    Δημοσθένης Στελλάκης

Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems