Faire un postback Asp.net dans une Dialog JQuery UI

Posted by
|

Peut être que parmi vous certains ont déjà rencontré ce problème :

Lorque l’on utilise une dialog JQuery UI (http://jqueryui.com/demos/dialog/) et que l’on y place un bouton asp.net, au clic sur celui-ci un refresh de la page est bien effectué, mais ni de postback ni le déclenchement de l’évènement est apellé. Mais pourquoi donc ? WTF ?

Le problème est simple, JQuery va créer la dialog en dehors de votre formulaire (balise form). Et donc rien ne fonctionne comme on le voudrait.

Voilà comment résoudre simplement le problème :


// fonction qui est appelée pour afficher la dialog
function DisplayDialog() {

//supprime la dialog si elle existe déj�
$("#dialog:ui-dialog").dialog("destroy");

// création de la nouvelle dialog et stockage de la référence dans un variable !          �
var dialog = $("#dialog").dialog({
                height: 150,
                modal: true
            });

// Correction pour le postback Asp.net
// Ajout de la dialog dans le premier formulaire de la page (en asp.net, y en a qu'un dans 99% des cas)
 dialog.parent().appendTo($("form:first"));
}

Comments

  1. Khamzat

    3 May 2012

    Merci pour cette astuce !

Add a comment

My Flickr

Copyright © 2011 Evilznet.com. All rights reserved.