Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541

    Richiamare FancyBox da codice

    Ciao a tutti,
    ho una pagina dove ho una fancybox e un updatepanel ora la fancybox finchè non ricarico l'updatepanel funziona, ma appena eseguo qualche operazione sfruttanto l'updatepanel e quindi ajax si blocca e non funziona più. Come se non ricaricasse più la funzione:
    $(document).ready(function() {

    Come posso fare per farla ricaricare lato codice?
    Grazie a tutti.

  2. #2
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541

    Re: Richiamare FancyBox da codice

    Originariamente inviato da mexican
    Ciao a tutti,
    ho una pagina dove ho una fancybox e un updatepanel ora la fancybox finchè non ricarico l'updatepanel funziona, ma appena eseguo qualche operazione sfruttanto l'updatepanel e quindi ajax si blocca e non funziona più. Come se non ricaricasse più la funzione:
    $(document).ready(function() {

    Come posso fare per farla ricaricare lato codice?
    Grazie a tutti.
    <- UP -> Nessuno mi sa aiutare?

  3. #3
    Immagino che il fancybox è contenuto nell'update panel ?
    Comunque la cosa è quasi scontata visto che quando ricarichi il pannello fai un post back parziale. Comunque se provi a postare il codice magari posso dati una mano. Così è difficile darti un consiglio..
    Sul mio blog qualche utile risorsa per JQuery, HTML5 , CSS3 , PHP , ASP.NET , WCF SERVICE REST & SOAP ed altro ancora http://zannino1973.wordpress.com

  4. #4
    ciao,
    l'istruzione "$(document).ready" è una istruzione javascript lato client che viene richiamata appena la pagina HTML è pronta (non so di preciso dove hai posizionato questa istruzione).

    Quando avviene un PostBack asincrono, la pagina aspx viene processata ma il risultato non viene inviato direttamente al browser, ma "impacchettato" e spedito come risultato della chiamata HTTPRequest effettuata da ASP.NET AJAX Library.
    Quindi esiste un "meccanismo" (senza entrare tanto nel dettaglio) che riceve il risultato e sostituisce la parte HTML contenuta dall'updatepanel con questo risultato (che non è altro che il nuovo HTML).
    Questo vuol dire che la tua istruzione non viene più richiamata perché in verità la pagina non si ricarica.

    Chiarito il funzionamento, potresti risolvere separando il codice e chiamandolo nuovamente alla fine del partialRendering del panel.
    esempio:

    codice:
    $(document).ready(function() {
             alert('Eccomi');
    });
    
    //diventa
    
    $(document).ready(chiamata);
    function chiamata(){
             alert('Eccomi');
    }
    quello che devi fare è richiamare l'istruzione chiamata().
    quindi, nel codice eseguito (credo un click di un pulsante) metti:
    codice:
    ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(), "updatep", "chiamata();", true);

  5. #5
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541
    Originariamente inviato da Gluck74
    ciao,
    l'istruzione "$(document).ready" è una istruzione javascript lato client che viene richiamata appena la pagina HTML è pronta (non so di preciso dove hai posizionato questa istruzione).

    Quando avviene un PostBack asincrono, la pagina aspx viene processata ma il risultato non viene inviato direttamente al browser, ma "impacchettato" e spedito come risultato della chiamata HTTPRequest effettuata da ASP.NET AJAX Library.
    Quindi esiste un "meccanismo" (senza entrare tanto nel dettaglio) che riceve il risultato e sostituisce la parte HTML contenuta dall'updatepanel con questo risultato (che non è altro che il nuovo HTML).
    Questo vuol dire che la tua istruzione non viene più richiamata perché in verità la pagina non si ricarica.

    Chiarito il funzionamento, potresti risolvere separando il codice e chiamandolo nuovamente alla fine del partialRendering del panel.
    esempio:

    codice:
    $(document).ready(function() {
             alert('Eccomi');
    });
    
    //diventa
    
    $(document).ready(chiamata);
    function chiamata(){
             alert('Eccomi');
    }
    quello che devi fare è richiamare l'istruzione chiamata().
    quindi, nel codice eseguito (credo un click di un pulsante) metti:
    codice:
    ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(), "updatep", "chiamata();", true);
    Grazie molto utile.
    Anche se proprio ieri avevo risolto leggendo un pò di robba in inglese anche se sono dovuto arrivare alla 10 pag di google per trovare qualcosa di interessante.
    Mi è bastato mettere: function pageLoad(sender, args)
    al posto di $(document).ready(function()

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.