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 :

[C#]Impression + redirection


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 89
    Points : 48
    Points
    48
    Par défaut [C#]Impression + redirection
    Bonjour, voici mon problème.
    J'ai un bouton avec un attribut particulier qui permet de lancer la fenetre windows pour l'impression :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    void Page_Load(object sender, EventArgs e) {
      ButtonPrint.Attributes.Add("OnClick","window.print();");
    }
    Seulement, losque je click sur ce bouton, j'effectue un certain nombre d'action pour mettre en page la page afin que ce soit plus joulie ex :

    Cela ne pose pas de problème mais si je rajoute une redirection dans l'action du bouton ex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Response.Redirect("toto.aspx");
    La fenetre d'impression va se lancer sur la page suivante. Avez vous un idée pour attendre la fermeture de la fenetre d'impression avant de changer de page???
    merci

  2. #2
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    settimeout(1000); en javascript ou un truc dans le genre, tu le rajoutes juste apres le print(); de ta page.

    Heu ca m'interesse ce que tu fais, tu peux me l'envoyer en PV please ?

  3. #3
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 89
    Points : 48
    Points
    48
    Par défaut vi
    quitte parretre ridicule... c'est quoi en PV!!
    Bimouxette on ne t'arrete plus

    edit :
    Ah en Privé c'est ça?
    Mais ya plusieurs pages et puis c'est encore buggé, si tu veux quand j'aurait fini, d'ici àla fin de la semaine, je t'enverrai le tout par mail.

  4. #4
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 89
    Points : 48
    Points
    48
    Par défaut explication
    En fait je fais un logiciel de gestion sensé tourné sur un intranet pour configurer un produit et au fure et à mesure imprimer les documents qui partent sur la chaine de production. Tout ça avec des conditions spécifiques aux normes éléctriques en vigueur histoire que le produit soit certifié ISO. Donc j'ai presque fini, mais il me reste à gerer les impression. Voila en gros.
    C'est long mais pas très compliqué

    edit :
    En fait ça fait 3 mois que je suis dessus quand même

  5. #5
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 89
    Points : 48
    Points
    48
    Par défaut set time out
    Pour le settime out, ça va être cho aussi je pense parce que dans tous les cas il va executer les actions de la fonction du bouton avant son attribut. Donc il va attendre de rediriger la page pour lancer la fenetre d'impression.
    Enfin je pense, je veux bien essayer mais zarive pô à trouver la bonne syntaxe pour inserrer ce javascript.
    Merci de ton aide encore et encore

  6. #6
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Bon je vais m'y remettre de toute façon, je vais essayer de trouver seule

  7. #7
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 89
    Points : 48
    Points
    48
    Par défaut euh
    on a pas du se comprendre, toi aussi tu as un PB?? ça a un rapport avec ce que je code? Si tu veux un extrait de code, c'est avec plaisir mais ça concerne quelle partie de l'animal?

  8. #8
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    En fait je te propose un truc :

    Ca dans ton aspx :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <script langage="Javascript">
    function imprimer()
    {
        window.getElementById["Button2"].Visible=false;
        window.print();
        window.location="toto.aspx";
    }
    </script>
    Ca dans ton cs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void Page_Load(object sender, EventArgs e)
    {
      ButtonPrint.Attributes.Add("OnClick","javascript:imprimer();");
    }

  9. #9
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 89
    Points : 48
    Points
    48
    Par défaut aspx cs
    en fait je n'ai pas de .CS, je code avec webmatrix et pour l'instant, je n'ai que des cs. En fait dans webmatrix il ya a une partie où on met le code C# et une autre où est générée le HTML. Alors je sais pas trop où je dois mettre cela...

  10. #10
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    (Je code avec WebMatrix)
    Tu peux faire des .cs avec WebMatrix après c'est chacun qui voit.

    Bon en gros tu met la première partie avant tout, puis ensuite tu met ton PageLoad là où il doit être

    EDIT : Oui j'ai un problème mais j'avance doucement (mais sûrement).

  11. #11
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 89
    Points : 48
    Points
    48
    Par défaut bon
    moi je viens de ruculer d'un grand pas en perdant tout le boulot que j'ai fait depuis 13h30. Donc je met résolu, de toute façon va falloir que je me penche sur le sujet avant d'exploser tout mon prog en rajoutant des trucs partout.
    Heureusement j'avait sauvegarder à plusieurs endroits ce matin.
    @+ et merci.

  12. #12
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    1. Il faut sauvegarder régulièrement à 2 endroits fixes sur 2 disques durs différents.
    2. Ctrl+S

  13. #13
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 89
    Points : 48
    Points
    48
    Par défaut bé ouais
    Et oui, je le fait même souvent mais comme par hasard, c'est au moment ou tu es le plus plongé dans ton code et donc le plus efficasse que tu oublie ce fabuleux racourcis clavier. Domage, mais j'ai presque tout récupéré. Allez bonne soirée à tous, je m'en vais à la plage.

  14. #14
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 89
    Points : 48
    Points
    48
    Par défaut voili voilouch
    Voila, j'ai récupérer le boulot que j'avais perdu et je me retrouve au même point, j'ai essayé Bimouxette d'inserrer ton JavaScript mais je comprend pas, webMatrix me le déplace. Peut être parce que en entête de page il y a
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <%@ Page Language="C#" %>
    Même si je le met avant, ça fonctionne pas. alors si quelqu'un peux m'expliquer comment inserrer du Javascript dans une page .aspx, je suis prenneur.

    merci

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 94
    Points : 67
    Points
    67
    Par défaut
    regarde ces méthodes

    Page.RegisterClientScriptBlock(....)

    void RegisterClientScriptBlock(string key, string script)
    void RegisterClientScriptBlock(string key, string script, string language)
    void RegisterClientScriptBlock(string key, string script, string language, bool defer) ou alors ^

  16. #16
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Ben je te montre comment sont structurées mes pages (avec WebMatrix)

    Si tu fais tout dans les ASPX :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <%@ Page Language="C#" %>
    <script runat="server">
        //mon code en C#
    </script>
    <html>
        <head>
            <title>Titre de la page</title>
            <script language="JavaScript">
                //mes fonctions en JavaScript
            </script>
        </head>
        <body>
            <! mon code HTML >
        </body>
    </html>
    Et avec un ASPX et un CS, structure de l'ASPX :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <%@ Page Language="C#" src="MaPage.cs" Inherits="MonProjet.MaPage" %>
    <html>
        <head>
            <title>Titre de la page</title>
            <script language="JavaScript">
                //mes fonctions en JavaScript
            </script>
        </head>
        <body>
            <! mon code HTML >
        </body>
    </html>
    Structure du CS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    namespace MonProjet
    {
        using System;
        //mes usings
     
        public class MaPage : Page
        {
            //mon code C#
        }//class MaPage
    }//namespace MonProjet
    Et en général, c'est a peu près tout le temps comme ça.

  17. #17
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 89
    Points : 48
    Points
    48
    Par défaut vi
    ouais mais moi je veux pas le bloquer completement l'attribut. Je veux juste qu'il s'execute avant le code du click du boutton.

  18. #18
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Bon dans ta fonction pour le bouton, fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public void TonClic (object o, EventArgs e)
    {
        RegisterStartupScript("Imprimer","<script language=\"JavaScript\">window.print();</"+"script>");
        Response.Redirect("toto.aspx");
    }//TonClic()
    Je ne suis pas certaine que ca fonctionne car pour imprimer tu as TOUJOURS besoin d'une confirmation, alors fermer le document avant même d'avoir cliquer sur imprimer, je trouve ça très fort :oP

    La meilleure chose est encore de bloquer le(s) bouton(s) de la page.

  19. #19
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 89
    Points : 48
    Points
    48
    Par défaut nine
    non ça fonctionne pas, il lance bien le window.print() quand il est seul mais si il y a le redirect après, ça marche pô. Enfin ça ne fait que rediriger, il a pas le temps de lancer la fenetre d'impression

  20. #20
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 89
    Points : 48
    Points
    48
    Par défaut reality is difficult
    En fait, je pourrai bien contourner le problème en rajoutant un bouton sur ma page qui apparait pendant qu'on lance la fenetre d'impression pour qu'après on click dessous pour être redirigé. Mais la page doit être clean au moment de l'impression et j'ai pas envi qu'il y ait un bouton avec le nom de la page suivante dessus.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 7
    Dernier message: 22/07/2014, 12h30
  2. Impression + redirection Navigateurs
    Par Floyus dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 07/03/2014, 13h14
  3. [CR][VB6] Impression d'un état depuis VB
    Par sda dans le forum SDK
    Réponses: 3
    Dernier message: 06/02/2007, 17h27
  4. [PB 6.5] Redirection des impressions
    Par Blame dans le forum Powerbuilder
    Réponses: 1
    Dernier message: 20/11/2006, 17h43
  5. Problème d'impression
    Par IngBen dans le forum C++Builder
    Réponses: 7
    Dernier message: 22/05/2002, 11h37

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