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

 

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

Συνδυασμός Radio - Combo σε ΑJAX

Îåêßíçóå áðü ôï ìÝëïò tsavos. Τελευταία δημοσίευση από το μέλος tsavos στις 09-01-2007, 01:40. Υπάρχουν 1 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  08-01-2007, 22:25 23245

    Συνδυασμός Radio - Combo σε ΑJAX

    Συνημμένα: Drawing1.gif
    Καλησπέρα.
    Προσπαθώ να δημιουργήσω ένα web control όπως η επισυναπτόμενη  εικόνα.
    Έχω 4 radio buttons και 4 αντίστοιχα combo boxes και όλα σε AJAX panel. Σημειώνω ότι έχω μικρή εμπειρία σε AJAX.

    Οταν η φόρμα κάνει Load όλα είναι άδεια.

    Την πρώτη φορά που επιλεγεί ένα radio τότε γίνεται load από ένα πίνακα της ΒΔ το αντίστοιχο combo και τα υπόλοιπα combos γίνονται ανενεργά. Επίσης κρατάω σε ένα hidden field ότι αυτό το combo το έχω κάνει bind.
    To ίδιο γίνεται για όλα τα radio με τα αντίστοιχα combos και τα αντίστοιχα hidden fields που κρατούν το flag γεμίσματος.
    Τα combos γίνοναι load από διαφορετικούς πίνακες της ΒΔ και εδώ υπάρχει μια ιδιαιτερότητα. Όλοι οι πίνακες έχουν περίπου 30 εγγραφές αλλά ο πίνακας για το combo4 έχει 6000.
    Η συμπεριφορά που παρατήρησα όταν έτρεξε η φόρμα μου φάνηκε περίεργη για αυτό τα έβαλα στον fiddler να δω τι γίνεται.

    Και βλέπω τα ακόλουθα:
    Οταν επιλεγεί την πρώτη φορά το radio1 γεμίζει το combo1 με τις 30 εγγραφές από τον πίνακα 1 και κάνει disable τα υπόλοιπα combos. Data transmitted : 15K
    Οταν επιλεγεί την πρώτη φορά το radio2 γεμίζει το combo2 με τις 30 εγγραφές από τον πίνακα 2 και κάνει disable τα υπόλοιπα combos. Ομοίως : 15K
    Το ίδιο και για το radio3.
    Οταν επιλεγεί την πρώτη φορά το radio4 γεμίζει το combo4 με τις 6000 εγγραφές από τον πίνακα 4. Data transmitted : 800K.

    Μέχρι εδώ καλά.
    Από εδώ και πέρα η συμπεριφορά είναι η ακόλουθη:
    Αφού έχει επιλεγεί το radio4 τότε όταν επιλεγεί ένα εκ των radio 1,2,3 γεμίζει τα αντιστοιχα combos 1,2,3 αλλά τότε Data transmitted : 350K. (???? το οποίο είναι το viewstate)
    Εαν δε  ξαναεπιλέξω  radio4 τότε  πάλι  Data transmitted : 800K.
    Είναι λογικό ??

    (Μια λύση που βρήκα είναι μετά το πρώτο select να απενεργοποιώ το autopostback των radios και να κάνω την ενεργοποίηση - απενεργοποίηση των combos με javascript. Θα ήθελα όμως να το κάνω με pure AJAX. Γίνεται ? ).




    Harry Tsavdaris
  •  09-01-2007, 01:40 23248 σε απάντηση της 23245

    Απ: Συνδυασμός Radio - Combo σε ΑJAX

    Το βρήκα!!! Μετά από σκέψη λίγο διάβασμα και πολλές δοκιμές νομίζω ότι το βρήκα.

    Το λάθος μου είναι που τα βάζω όλα σε ένα panel και οπότε γίνονται τα πάντα postback.

    To σωστό είναι να βάλεις τα radios σε ένα panel και κάθε combo σε δικό του panel.

    Το συμπέρασμα είναι ότι στις εφαρμογές ajax το τι βάζεις μέσα στα panel είναι όλη η δουλειά. Μετά ο ajax αναλαμβάνει μόνος του.


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