IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Problème postBack impossible après fermeture d'une popup


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 23
    Points : 10
    Points
    10
    Par défaut Problème postBack impossible après fermeture d'une popup
    Bonjour,

    j'ai créé un UserControl dans lequel j'ai créé un ImageButton auquel j'ai ajouté l'attribut suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    btnRechercheEts.Attributes.Add("onclick","openStdWin('PopUp/PopUpRechercheEtablissement.aspx?ctrl1=ctrl_new_rgl_lblNomPayeurCtrl','RechercheEtablissement',800,570);");
    Le bouton me permet donc bien d'ouvrir ma popup. Je souhaite que lors de la fermeture de celle-ci un PostBack soit généré sur la page appelante (celle qui contient le UserControl). Pour celà je rajoute donc le code suivant lors de la fermeture de ma popup :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Response.Write("<script>opener.__doPostBack();</script>");
     
    Response.Write("<body><script>window.close();</script></body>");
    Mais aucun PostBack n'ait généré et j'ai une erreur javascript :

    Erreur d'exécution Microsoft JScript: Cet objet ne gère pas cette propriété ou cette méthode
    En parlant de l'objet 'opener' qui ne gérerait pas la fonction __doPostBack.

    Or tout ce code fonctionne très bien lorsque je n'utilise aucun UserControl et que la popup est directement ouverte à partir d'une Page classique.

    Je ne sais pas si j'ai été très clair, demandez-moi des précisions si vous le souhaitez.

    En tout cas, merci d'avance pour votre aide.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 619
    Points
    1 619
    Par défaut
    tu veux rafraichir ta fenetre appelante en quelque sorte?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 23
    Points : 10
    Points
    10
    Par défaut
    Ben fait c'est pas juste la rafraichir, c'est générer un appel au serveur (postBack). Donc la page n'est pas simplement rafraichie. Mais en "gros" c'est un peu ça.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 23
    Points : 10
    Points
    10
    Par défaut
    Il n'y a personne qui aurait au moins une petite piste ?

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 619
    Points
    1 619
    Par défaut
    tu peux faire un mafenetreAppelante.Submit() en javascript quand tu fermes ta fenetre.

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2004
    Messages
    417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2004
    Messages : 417
    Points : 581
    Points
    581
    Par défaut
    allez rien que pour toi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function refreshParent()
    {
    	var form = window.opener.document.getElementById('Nom_de_ta form');
    	form.submit();
    	window.close();
    }
    L'Homme est doté de 2 yeux et de 2 oreilles pour voir et entendre deux fois plus qu'il ne parle

    Je ne réponds pas au questions par mp. Merci

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 23
    Points : 10
    Points
    10
    Par défaut
    La fonction submit() je dois l'appeler sur un élément de type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <form id="form1" action="Fiche_Formation.aspx">
    </form>
    ??

    ça aura le même effet que la fonction __doPostBack() ?

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 619
    Points
    1 619
    Par défaut
    personne ne sert de _doPostBack c'est crade. le submit fait la même chose que _doPostBack.

  9. #9
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2004
    Messages
    417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2004
    Messages : 417
    Points : 581
    Points
    581
    Par défaut
    oui tu l'apelle sur ton element form.
    en l'occurence:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function refreshParent()
    {
    	var form = window.opener.document.getElementById('form1');
    	form.submit();
    	window.close();
    }
    L'Homme est doté de 2 yeux et de 2 oreilles pour voir et entendre deux fois plus qu'il ne parle

    Je ne réponds pas au questions par mp. Merci

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 23
    Points : 10
    Points
    10
    Par défaut
    Excusez-moi mais je raffole pas du javascript... là j'appelle ma fonction submit() sur le form suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <form id='form1' method="post" action="Fiche_Facture_Nouveau_Prestation.aspx">
    </form>
    Et au moment de la fermeture de ma popup (qui hérite d'une System.Web.UI.Page ) j'appele la méthode suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Response.Write("<script>var form = window.opener.document.getElementById('form1'); form.submit();</script>");
    J'obtients alors l'erreur suivante :
    Erreur d'exécution Microsoft JScript: Cet objet ne gère pas cette propriété ou cette méthode

  11. #11
    Membre actif
    Profil pro
    Inscrit en
    Août 2004
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 270
    Points : 270
    Points
    270
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.forms["form1"].submit();

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 23
    Points : 10
    Points
    10
    Par défaut
    Autre erreur avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Response.Write("<script>opener.document.forms['form1'].submit();</script>");
    Erreur d'exécution Microsoft JScript: 'window.opener.document.forms.form1' a la valeur Null ou n'est pas un objet.

    En fait on dirait qu'il cherche ma form dans la popup alors que moi je voudrais qu'il cherche celle de la page appelante. Mais bizarrement l'url de opener.document est celle de ma popup est la liste des forms est vide dans opener.document.

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 23
    Points : 10
    Points
    10
    Par défaut
    Bon en fait moi la seule méthode qui fonctionne c'est quand je mets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Response.Write("<script>opener.__doPostBack();</script>");
    Enfin, celà marche quand la page appelante est une System.Web.UI.Page quand la popup est ouverte à partir de l'évènement "OnClick" d'un ImageButton contenu dans un System.Web.UI.UserControl ça ne fonctionne plus.
    Est-ce qu'il y aurait un moyen en utilisant la méthode GetPostBackClientHyperlink du ClientScriptManager ?
    Je vais essayer de creuser de ce côté...

Discussions similaires

  1. Réponses: 7
    Dernier message: 08/04/2010, 16h10
  2. Mettre à jour une datalist après fermeture d'un popup
    Par webworker dans le forum ASP.NET
    Réponses: 2
    Dernier message: 24/03/2009, 13h47
  3. get => pointeur null apres fermeture d'une sous-fenetre
    Par gorgonite dans le forum AWT/Swing
    Réponses: 15
    Dernier message: 11/02/2006, 21h42
  4. Problème d'utilisation de fonction dans une popup
    Par Pymm dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 06/09/2005, 15h00
  5. Refresh de page initiale après saisie dans une popup
    Par muppetshow dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 16/03/2005, 12h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo