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

 

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

Ερώτηση: Postback και Modal IE Window

Îåêßíçóå áðü ôï ìÝëïò npoulis. Τελευταία δημοσίευση από το μέλος Aris στις 06-06-2005, 21:17. Υπάρχουν 4 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  02-06-2005, 16:26 2409

    Ερώτηση: Postback και Modal IE Window

    Καλησπέρα σε όλους

    είμαι νέο μέλος και ήρθα με μία απορία.Stick out tongue


    Έχω μια σελίδα aspx την οποία ανοίγω με ένα jscript πχ
    window.showModalDialog("Person.aspx")

    το νεο windows όντως ανοίγει modal και ολα ωραία [<:o)]. Το θέμα ομως δημιουργείται αν πχ πατησω ένα server side button πάνω στην φόρμα οπότε αυτή κάνοντας post-back δεν γίνεται render στο ίδιο modal window αλλα ανοίγει ένα νέο non-modal και γίνεται render εκει Tongue Tied. Τι κάνω σε αυτή την περίπτωση? Υπάρχει τρόπος να αποφύγω το άνοιγμα νέου παραθύρου?

    Νίκος.
    [email protected]

  •  02-06-2005, 16:31 2410 σε απάντηση της 2409

    Re: Ερώτηση: Postback και Modal IE Window

    Ωπα παιδιά λάθος..... συγνώμη πήγαινε για το Web forms forum

  •  02-06-2005, 22:14 2426 σε απάντηση της 2409

    Re: Ερώτηση: Postback και Modal IE Window

    Το έψαξα λιγάκι και το δοκίμασα κιόλας, μπορείς να κάνεις το εξής:

    Στην ενότητα <HEAD> της σελίδας που ανοίγεις ως modal θα πρέπει να προσθέσεις το tag <BASE target="_self"> (στο HTML κομμάτι της).

    To BASE tag ουσιαστικά ορίζει το base URL για όλα τα links που βρίσκονται εντός της σελίδας ενώ το _self ορίζει, τι άλλο, την ίδια τη σελίδα στην οποία βρίσκεσαι.

    Περισσότερα για τον ορισμό του BASE tag θα βρείς σε αυτό το link.


    Σωτήρης Φιλιππίδης

    DotSee Web Services

    View Sotiris Filippidis's profile on LinkedIn

    DotNetNuke them!
  •  03-06-2005, 01:38 2427 σε απάντηση της 2426

    Re: Ερώτηση: Postback και Modal IE Window

    Να σαι καλα φίλε μου, θα το δοκιμάσω αμέσως μόλις μπορέσω. Ευχαριστώ για την απάντηση.
    Wink

    Νίκος
  •  06-06-2005, 21:17 2517 σε απάντηση της 2426

    Re: Ερώτηση: Postback και Modal IE Window

    Σε συνέχεια της απάντησης του Σωτήρη, σημείωσε και τα εξής:

    1. Χρησιμοποιώντας το <BASE target="_self"> θα σε καλύψει όταν ο διάλογος που ανοίγεις πρέπει να κάνει κάτι και να επιστρέψει στον εαυτό του. Δεν θα μπορέσεις να τον κλείσεις από τέτοιο (Web Form κουμπί) και να επιστρέψεις σε άλλη σελίδα

    2. Εάν χρειάζεσαι την δυνατότητα να κλείσεις τον διάλογο και να επιστρέψεις στην "κύρια σελίδα" (δηλαδή ο διάλογος - person.aspx - χρησιμοποιείται για λειτουργίες επεξεργασίας μιάς "personList.aspx" και πρέπει να κλείσει, πατώντας σε κουμπιά τύπου Οκ/Άκυρο/Ενημέρωση, τότε το σενάριο είναι λίγο πιό πολύπλοκο.

    Συνοπτικά:
    - η "personList.aspx", ανοίγει τον διάλογο με χρήση HTMLButton & client-side script (showModalDialog(...), περνώντας απαραίτητες παραμέτρους στο query string)
    - η "person.aspx" κάνει ότι κάνει (με χρήση <BASE> tag, για ότι πρέπει να επιστρέφει σε αυτήν) και χρησιμοποιεί HTMLButton & client-side script για τα κουμπιά επιστροφής (Ok/Update/Cancel) βάζοντας και την τιμή που πρέπει να επιστρέψει (.. window.dialogResult=theResult; window.close(); ..)
    - η "personList.aspx", παρκάρει το theResult (ακριβώς μετά την κλήση στο showModalDialog(...), σε ένα HTMLInputHidden, ας το πούμε dlgResult) και κάνει submit στον εαυτό της για περαιτέρω επεξεργασία [με ένα window.Form1.submit()]
    - Εάν η επεξεργασία ολοκληρωθεί επιτυχώς, καθαρίζεται το dlgResult και όλα ΟΚ
    - Εάν προκύψει σφάλμα (π.χ. database error), τότε, από το code-behind file, που περιέχει τον κώδικα επεξεργασίας, τοποθετείται το μήνυμα σφάλματος (και, οι τιμές που το προκάλεσαν) στο dlgResult. Η επεξεργασία τελειώνει και γίνεται το postback
    - Τέλος, η "personList.aspx" έχει και client-side script στο window_onLoad(). Αυτό, κοιτάει το dlgResult και, εάν δει μήνυμα σφάλματος, ανοίγει αυτόματα το "person.aspx", με τις τιμές που προκάλεσαν το σφάλμα και βέβαια το μήνυμα σφάλματος.

    Απλούστατο... Διατίθεται και κώδικας για δείγμα Smile

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