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 :

Ouvrir une nouvelle fenêtre en code-behind


Sujet :

ASP.NET

  1. #1
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut Ouvrir une nouvelle fenêtre en code-behind
    Bonjour à tous,

    je cherche comment ouvrir une nouvelle fenêtre au clic sur un bouton.
    Coté serveur, le clic sur ce bouton instancie un objet. Je stocke cet objet en session pour la récupérer dans la page que je souhaite ouvrir.

    Je ne peux pas utiliser le response.redirect car celui-ci ne permet pas, à ma connaissance, d'ouvrir le lien dans une nouvelle fenêtre.
    J'ai utilisé button.attributes.Add("onClick","Javascript:window.open('page.aspx','maPage', 'mesPropriétés'" mais cela ne fonctionne pas non plus car le javascript est exécuté avant le code behind alors que mon objet n'est pas encore crée.

    Avez vous une autre idée ?

  2. #2
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    un petit up parce que je ne parviens pas à mes fins, ni avec response, ni avec server, ni avec addhandler, ni avec javascript...

    Je ne vois plus ou chercher

  3. #3
    Membre chevronné
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 400
    Par défaut
    Bonjour,

    Tu ajoute un Label "LabelScript" dans ton ASPX, et ensuite

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ...
    'traitement code behind
    ...
    LabelScript.text ="<script type='text/javascript'>"
    LabelScript.text &="window.open('page.aspx','maPage', 'mesPropriétés')"
    LabelScript.text &="</script>"
    A suivre

    [edit]Penses à vider ton label aprés sinon tu vas avoir un popup a chaque postback[/edit]

  4. #4
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    bonjour Mafyoso et merci pour ta reponse.

    Peux tu m'en dire un peu plus sur le labelscript, je ne connais pas du tout et je ne vois pas d'infos sur le net.

    D'ou sort ce controle, et comment l'utiliser ?

    EDIT: moi idiot, moi pas tout comprendre. Mais avec gros effort, moi avoir compris que le labelscript était l'id du label.
    J'ai un peu de mal ce matin.
    Je teste de suite.

  5. #5
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    grrrr, cela ne fonctionne pas.

    J'ai ajouté un label dans mon balisage
    dans mon code j'ai ajouté:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    LabelScript.text="<script type='text/javascript'>"
    LabelScript.text="window.open('page.aspx','maPage', 'mesPropriétés')"
    LabelScript.text="</script>"
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    LabelScript.text="<script type='text/javascript'>"
    LabelScript.text+="window.open('page.aspx','maPage', 'mesPropriétés')"
    LabelScript.text+="</script>"
    ainsi que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LabelScript.text="<script type='text/javascript'>window.open('page.aspx','maPage','mesPropriétés')</script>"

  6. #6
    Membre chevronné
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 400
    Par défaut
    Ca donne quoi?

  7. #7
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    rien ne se passe.

  8. #8
    Membre chevronné
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 400
    Par défaut
    C'est quand même bizar, tu peux nous donner ton code pour jeter un oeil ?

  9. #9
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Rassure moi, t'as pas ajouté ça tel quel hein??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LabelScript.text="window.open('page.aspx','maPage', 'mesPropriétés')"

  10. #10
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    @LuteceFalco: si, enfin presque , j'ai juste modifié ce qui devait l'être

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
               <div class="Titre">
                    <asp:Label ID="Lbl" runat="server" CssClass="" Text="texte"></asp:Label>
                    <asp:label runat="server" ID="LabelScript"  Visible="false"></asp:label>                
                </div>
    et dans le code-behind, dans l'evenement click du bouton qui doit ouvrir la nouvelle page:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        Protected Sub LB_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles LB.Click
            If Not Session("Personne") Is Nothing Then
                Dim MaPersonne As Personne= CType(Session("Personne"), Personne)          
                Session("Imp") = monImp
                LabelScript.Text = "<script type=""text/javascript"">window.open('http://www.google.fr','google', 'channelmode=1')</script>"
            End If
        End Sub

  11. #11
    Membre chevronné
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 400
    Par défaut
    Mdr
    Le visible="false" fait que le controle n'est pas généré donc .... rien .

    enlève la propriété, tu ne verras pas le texte pour autant mais tu auras un popup

  12. #12
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    merci pour ton aide Mafyoso.

    Alors, j'ai viré le visible="false" et cela ne change rien.

    Precision: mon linkbutton se trouve dans un updatepanel, cela peut il influer sur le comportement du javascript ?

  13. #13
    Membre chevronné
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 400
    Par défaut
    Oui effectivement, ton "labelscript" est-il dans l'updatePanel?

  14. #14
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Qu'il soit à l'intérieur ou à l'extérieur, la pop up n'est pas ouverte...
    Je commence à désespérer.

    Précision: mon linkbutton se trouve dans un modal popup extender, lui meme dans un update panel.

    Et effectivement, lorsque je met un linkbutton en dehors d'un updatepanel et que je met le code que tu m'as donné dans son evènement click, un pop-up s'ouvre.

    Le probleme vient donc de l'updatepanel ou du modalpopup.

  15. #15
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    I DID IT
    pas seul, mais je l'ai fait

    Je vous livre une explication rapide, si quelqu'un est intéressé je pourrai en faire une source pour la rubrique "Contribuez".

    Ne réussissant pas à appeler du javascript aprés du code behind dans mon updatePanel, j'ai trouvé l'objet "PageRequestManager" qui gère toutes les mises à jour des updatePanels. Deux de ces propriétés permettent de créer des fonctions javascript pour determiner ce qui doit se produire au moment ou est lancée la mise à jour puis au moment ou celle-ci est terminée.

    Dans la première, je récupère donc l'id de l'élément qui a declenché le postback (mon bouton) et a la fin de la mise a jour je reutilise cet ID pour appeller la fonction window.open.

  16. #16
    Membre chevronné
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 400
    Par défaut
    Chapeau !

    J'étais loin du compte avec mes 3 lignes

    Félicitations

  17. #17
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    merci à toi Mafyoso
    quand tu ne me mâches pas le boulot tu me mets sur la piste c'est toujours sympa.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#][Débutant]Ouvrir une nouvelle fenêtre en fermant l'ancienne
    Par neuromencien dans le forum Windows Forms
    Réponses: 3
    Dernier message: 21/04/2011, 09h20
  2. Réponses: 17
    Dernier message: 31/08/2006, 14h50
  3. ouvrir une nouvelle fenêtre dans une taille déterminé
    Par lnikolanta dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 26/09/2005, 15h26
  4. Ouvrir une nouvelle fentre en grand ?
    Par Sylk dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 15/09/2005, 13h14
  5. [ShellExecute] ouvrir une nouvelle fenêtre ie
    Par sony351 dans le forum C++Builder
    Réponses: 2
    Dernier message: 21/11/2004, 18h39

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