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 :

Police de caractère grossie après ouverture d'une nouvelle page


Sujet :

ASP.NET

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 7
    Par défaut Police de caractère grossie après ouverture d'une nouvelle page
    Bonjour à tous !

    Je développe une appli web sous Visual Studio 2008 et je rencontre un problème bizarre.

    J'ai une page qui contient un gridview. A l'ouverture de cette page, tout est conforme à ce que je souhaite !

    Sur ce gridview se trouve un imageButton qui permet d'ouvrir une nouvelle page contenant un formulaire, et d'en lancer l'impression après confirmation de l'utilisateur.

    Lorsque l'on referme cette nouvelle page, et que l'on revient à la page de base contenant le gridview, on remarque que la police de caractère des noms de colonnes a été modifiée (grossie!), mais le contenu du gridview n'est pas modifié.

    Je n'arrive pas à trouver à quoi cela peut être du !!

    D'autre part, dans la même appli j'ai plusieurs écrans se ressemblant, contenant chacun un gridview avec un imageButton appelant le même code, et chacun d'entre eux provoque le même phénomène bizarre !!

    Est-ce que quelqu'un aurait une idée sur l'origine de ce bug ???

    Merci à tous pour votre aide !

    Myriam

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2009
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 229
    Par défaut
    T'as pas de feuille de style liée à ta page ?

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 7
    Par défaut
    Merci pour ta réponse !

    Non je n'ai pas lié de feuille de style à cette page, le style est défini en dur. Je sais c'est pas top...
    Mais ce que je ne comprends pas c'est pourquoi le style serait différent avant et après ouverture de la nouvelle page d'impression ??

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2009
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 229
    Par défaut
    Tu peux publier ton code ?

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 7
    Par défaut
    Voici le code HTML du gridview :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
     
     
    <table id="donnees" style="width: 80%">
            <tr>
                <td style="width: 100%; font-size: small" align="center">
                    <asp:GridView ID="GridView1" runat="server" Width="100%"  AutoGenerateColumns="False" HorizontalAlign="Center"
                        AllowPaging="True" DataKeyNames="NumCourse" PageSize="8">
                        <RowStyle HorizontalAlign="Center" />
                        <Columns>
                            <asp:BoundField DataField="NumCourse" HeaderText="Course LCF n°" />
                            <asp:BoundField DataField="DateEnlevement" HeaderText="Date de course" DataFormatString="{0:dd-MMM}">
                            </asp:BoundField>
                            <asp:BoundField DataField="DemandeurNom" HeaderText="Nom du demandeur" />
                            <asp:BoundField DataField="CreneauLibelleCourt" HeaderText="Créneau"></asp:BoundField>
                            <asp:TemplateField HeaderText="Demande">
                                <ItemTemplate>
                                    <asp:Label ID="demandeCourse" runat="server" Text=""></asp:Label>
                                </ItemTemplate>
                            </asp:TemplateField>
                            <asp:BoundField DataField="AdresseDepart" HeaderText="Départ"></asp:BoundField>
                            <asp:BoundField DataField="DerniereAdresseArrivee" HeaderText="Arrivée"></asp:BoundField>
                            <asp:TemplateField HeaderText="Imprimer">
                                <ItemTemplate>
                                    <asp:ImageButton ID="buttonPrint" runat="server" CommandName="Impression" CommandArgument='<%# Eval("NumCourse") %>'
                                        ImageUrl="~/images/icon-print2.gif" />
                                </ItemTemplate>
                            </asp:TemplateField>
                            <asp:ButtonField ButtonType="Image" CommandName="Valid" HeaderText="Détails / Valider"
                                ImageUrl="~/images/icon-view.gif" ShowHeader="True" />
                            <asp:TemplateField HeaderText="Modifier">
                                <ItemTemplate>
                                    <asp:ImageButton ID="buttonModif" runat="server" CommandName="Modif" CommandArgument='<%# Eval("NumCourse") %>'
                                        ImageUrl="~/images/icon-view.gif" />
                                </ItemTemplate>
                            </asp:TemplateField>
                            <asp:TemplateField HeaderText="Heure_Retour du colis">
                                <ItemTemplate>
                                    <asp:DropDownList ID="selectHeure" runat="server" CommandName="SelectHeure">
                                        <asp:ListItem>00</asp:ListItem>
                                        <asp:ListItem>01</asp:ListItem>
                                        <asp:ListItem>02</asp:ListItem>
                                        <asp:ListItem>03</asp:ListItem>
                                        <asp:ListItem>04</asp:ListItem>
                                        <asp:ListItem>05</asp:ListItem>
                                        <asp:ListItem>06</asp:ListItem>
                                        <asp:ListItem>07</asp:ListItem>
                                        <asp:ListItem>08</asp:ListItem>
                                        <asp:ListItem>09</asp:ListItem>
                                        <asp:ListItem>10</asp:ListItem>
                                        <asp:ListItem>11</asp:ListItem>
                                        <asp:ListItem>12</asp:ListItem>
                                        <asp:ListItem>13</asp:ListItem>
                                        <asp:ListItem>14</asp:ListItem>
                                        <asp:ListItem>15</asp:ListItem>
                                        <asp:ListItem>16</asp:ListItem>
                                        <asp:ListItem>17</asp:ListItem>
                                        <asp:ListItem>18</asp:ListItem>
                                        <asp:ListItem>19</asp:ListItem>
                                        <asp:ListItem>20</asp:ListItem>
                                        <asp:ListItem>21</asp:ListItem>
                                        <asp:ListItem>22</asp:ListItem>
                                        <asp:ListItem>23</asp:ListItem>
                                    </asp:DropDownList>
                                    <asp:Label ID="deuxPoints" runat="server" Text=":" Font-Bold="true"></asp:Label>
                                    <asp:DropDownList ID="selectMinute" runat="server" CommandName="SelectMinute">
                                        <asp:ListItem>00</asp:ListItem>
                                        <asp:ListItem>05</asp:ListItem>
                                        <asp:ListItem>10</asp:ListItem>
                                        <asp:ListItem>15</asp:ListItem>
                                        <asp:ListItem>20</asp:ListItem>
                                        <asp:ListItem>25</asp:ListItem>
                                        <asp:ListItem>30</asp:ListItem>
                                        <asp:ListItem>35</asp:ListItem>
                                        <asp:ListItem>40</asp:ListItem>
                                        <asp:ListItem>45</asp:ListItem>
                                        <asp:ListItem>50</asp:ListItem>
                                        <asp:ListItem>55</asp:ListItem>
                                    </asp:DropDownList>
                                </ItemTemplate>
                                <FooterStyle BorderStyle="None"></FooterStyle>
                                <HeaderStyle BorderStyle="None"></HeaderStyle>
                            </asp:TemplateField>
                            <asp:TemplateField>
                                <ItemTemplate>
                                    <asp:ImageButton runat="server" CausesValidation="false" ID="buttonValidHeure" CommandName="validHeure"
                                        ImageUrl="~/images/icon-ok.gif" Text="" CommandArgument="<%# CType(Container,GridViewRow).RowIndex %>" />
                                </ItemTemplate>
                            </asp:TemplateField>
                        </Columns>
                        <HeaderStyle BackColor="#003366" ForeColor="White" Font-Bold="True" Font-Size="Small">
                        </HeaderStyle>
                        <EditRowStyle HorizontalAlign="Center" />
                    </asp:GridView>
                    <asp:SqlDataSource ID="coursesDS0" runat="server" ConnectionString="<%$ ConnectionStrings:PalomaConnectionString %>"
                        SelectCommand="SELECT Course.numCourseLCFEDR AS [Course LCF N°], Course.dateEnlèvement AS [Date de course], Course.demandeurNom AS [Nom du Demandeur], Course.créneau AS Créneau, Course.demandeCourse AS Demande, Adresses_1.adresse + ' ' + Adresses_1.ville + ' ' + Adresses_1.codePostal AS [Départ course], Adresses.adresse + ' ' + Adresses.ville + ' ' + Adresses.codePostal AS [Arrivée course], Course.validation1, Course.brouillon, Course.annulation FROM Course INNER JOIN Adresses ON Course.numCourseLCFEDR = Adresses.numCourse INNER JOIN Adresses AS Adresses_1 ON Course.numCourseLCFEDR = Adresses_1.numCourse WHERE (Adresses.typeAdresse = 'Arrivée') AND (Adresses_1.typeAdresse = 'Départ') ORDER BY [Date de course]">
                    </asp:SqlDataSource>
                </td>
            </tr>
            <tr style="height: 10px">
                <td>
                </td>
            </tr>
        </table>
    Le code appelé par le bouton (ImageButton, ID:"buttonPrint") qui ouvre la nouvelle page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    If (commande = "Impression") Then
                          Response.Redirect("visuDemandesPerso.aspx?numeroCourse=" & num & "&type=impression")
    Et à l'ouverture de la nouvelle page les 2 instructions suivantes sont appelées dans le onload() du body :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    window.print();
    window.close();
    Merci pour ton aide

  6. #6
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2009
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 229
    Par défaut
    Tu utilise Response.Redirect pour ouvrir la page visuDemandesPerso et lancer l'impression.
    Et pour retourner vers ta page principale (où t'as le gridview) tu utilise le même instruction ?
    Publie le code de Page_Load de la page visuDemandesPerso !!!

  7. #7
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2009
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 229
    Par défaut
    essaye de lancer l'impression à partir de javascript.
    Dans la méthode Page_Load, ajoute ce bout de code au lieu de window.print() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Page.ClientScript.RegisterClientScriptBlock(GetType(), "Impression", "window.print()", true);

  8. #8
    Nouveau membre du Club
    Femme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 7
    Par défaut
    Ah oui pardon j'ai oublié cette partie là !

    En fait la page principale est "visuDemandesPerso.aspx" qui contient le gridview.
    Le clic sur le bouton redirige vers "visuDemandesPerso" elle-même, qui ouvre (dans le pageLoad) la page "bonDeCourse.aspx" et propose l'impression.

    Voici le code de Page_Load de la page "visuDemandesPerso" (dont les premières lignes ouvrent "bonDeCourse.aspx". La suite du code n'a rien à voir, mais je la mets quand même au cas où je louperais quelquechose...) :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
     
            Dim type As String = Request.Params.Get("type")
            Dim numeroCourse As String = Request.Params.Get("numeroCourse")
            If Not numeroCourse Is Nothing And Not numeroCourse = "" And type = "impression" And Session("typeSession") = "print" Then
                Response.Write("<script>window.open('bonDeCourse.aspx?numeroCourse=" & numeroCourse & "')</script>")
            End If
     
            dateDeb.Attributes.Add("onClick", "return Open_('" + Calendar1.ClientID + "');")
            Calendar1.Style.Add("display", "none")
            Calendar1.Attributes.Add("onMouseLeave", "return Close_('" + Calendar1.ClientID + "');")
     
            dateFin.Attributes.Add("onClick", "return Open_('" + Calendar2.ClientID + "');")
            Calendar2.Style.Add("display", "none")
            Calendar2.Attributes.Add("onMouseLeave", "return Close_('" + Calendar2.ClientID + "');")
     
            Dim objListeParam As Object() = New Object(0) {}
     
            If Not IsPostBack Then
                objListeParam(0) = GetFullName()
     
                getListeObjetsCourses(getDataSet("dbo.RecupereCourses", objListeParam))
     
                For Each c As Course In collTotalCourses
                    collPartielCourses.Add(c)
                Next
     
                getListeObjetsCoursesArchivees(getDataSet("dbo.RecupereCoursesArchivees", objListeParam))
     
                Session("ListeCourseArchivees") = collCoursesArchivees
                Session("ListeCourseTotale") = collTotalCourses
                Session("ListeCoursePartielle") = collPartielCourses
                GridView1.DataSource = collTotalCourses
                GridView1.DataBind()
            Else
                If Not IsNothing(Session("ListeCourseTotale")) Then
                    collTotalCourses = Session("ListeCourseTotale")
                End If
                If Not IsNothing(Session("ListeCourseArchivees")) Then
                    collCoursesArchivees = Session("ListeCourseArchivees")
                    If coursesArchivees.Checked = True Then
                        GridView1.DataSource = collCoursesArchivees
                    End If
                End If
                If Not IsNothing(Session("ListePartielCourseArchivees")) Then
                    collPartielCoursesArchivees = Session("ListePartielCourseArchivees")
                    If coursesArchivees.Checked = True Then
                        GridView1.DataSource = collPartielCoursesArchivees
                    End If
                End If
                If Not IsNothing(Session("ListeCoursePartielle")) Then
                    collPartielCourses = Session("ListeCoursePartielle")
                    If coursesArchivees.Checked = False Then
                        GridView1.DataSource = collPartielCourses
                    End If
                End If
            End If
        End Sub
    Et ensuite, à l'ouverture de bonDeCourse, l'impression est proposée et la page est fermée par les instructions : window.print() et window.close() dans le body. Une fois bonDeCourse fermée, on se retrouve avec visuDemandesPerso... et ses caractères grossis

    Merci beaucoup

  9. #9
    Nouveau membre du Club
    Femme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 7
    Par défaut
    J'ai testé avec le javascript : le résultat est le même...

  10. #10
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2009
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 229
    Par défaut
    Je pense que le problème vient de le fait que t'ouvre le popup (bonDeCourse) en utilisant Reponse.Write.
    Je te propose de changer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Response.Write("<script>window.open('bonDeCourse.aspx?numeroCourse=" & numeroCourse & "')</script>")
    par ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim popupScript As String = "<script>window.open('bonDeCourse.aspx?numeroCourse=" & numeroCourse & "')</script>"
    Page.RegisterStartupScript("OuverturePopup", popupScript)

  11. #11
    Nouveau membre du Club
    Femme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 7
    Par défaut
    Bien vu !! C'était bien ça !!!
    Merci beaucoup pour ton aide !
    Est-ce que tu pourrais stp m'expliquer vite fait quelle est la différence entre les 2 instructions et pourquoi le response.write produit cet effet ?
    Encore merci !

  12. #12
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2009
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 229
    Par défaut
    Response.write : a pour but d'écrire de chaînes dans l'output et non pas pour ouvrir de popup.
    Par contre, Page.RegisterStartupScript : émet un bloc de script côté client dans l'output.

    C'est à dire, dans ton exemple, on a exécuter l'ouverture et l'impression de popup côté client

    Dorénavant, essaye d'être un peu plus rapide pour tes réponses

  13. #13
    Nouveau membre du Club
    Femme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 7
    Par défaut
    Ok merci pour l'explication.
    Désolée j'étais un peu longue à réagir parce que j'ai du assiter à plusieurs réunions aujourd'hui, et je me remettais au travail entre deux...

  14. #14
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2009
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 229
    Par défaut
    De rien et bon courage

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

Discussions similaires

  1. Position haut de page sur ouverture d'une nouvelle page
    Par jerome38000 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 26/09/2007, 16h02
  2. ouverture d'une nouvelle page internet
    Par Halima91 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 15/06/2007, 15h46
  3. [vb.net] linkButton, ouverture dans une nouvelle page
    Par tasnep. dans le forum ASP.NET
    Réponses: 12
    Dernier message: 25/08/2006, 11h31
  4. popup : ouverture d'une nouvelle page
    Par kikou33 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 03/08/2005, 17h07

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